• Gitlab(1)- 简单介绍


    什么是 Gitlab

    • 一个开源分布式版本控制系统
    • 开发语言:Ruby
    • 功能:管理项目源代码、版本控制、代码复用与查找、权限管控

    Git 家族成员

    • Git:是一种版本控制系统,是一个命令,是一种工具
    • Gitlib:是用于实现 Git 功能的开发库
    • Github:是一个基于 Git 实现的在线代码托管仓库,包含一个网站界面,向互联网开放
    • GitLab:是一个基于 Git 实现的在线代码仓库托管软件,你可以用 Github 自己搭建一个类似于 Github 一样的系统,一般用于在企业、学校等内部网络搭建 git 私服

    GitLab 和 GitHub 的不同

    Github

    • Github 分布式在线代码代码托管仓库
    • 个人版本可以直接在线(Web)免费试用,企业版本收费且需要服务器安装

    Gitlab

    • 分布式在线代码仓库托管软件
    • 分社区免费版和企业收费版,都需要服务器安装
    • 中小公司可以直接使用社区版来管理、保存公司项目代码,不需要使用 Github 直接将私密代码暴露在公网上

    Gitlab 优势

    • 开源免费,适合中小型公司将代码放置在系统中,社区版目前提供的功能完全能满足中小型公司的日常使用,如果想升级为收费版也可以无缝对接
    • 差异化的版本管理,任何微小的变动都会被记录下来
    • 离线同步,不依赖网络通信,可以将本地的所有 Git 操作在有网络的时候同步到 Gitlab 仓库中
    • 强大分支管理功能,可以针对不同的环境、不同的业务逻辑创建独立的分支,然后进行并行独立的维护和更新
    • GUI 操作界面
    • 强大账户权限管理,不同账户的权限各不相同,不存在越权的情况
    • 集成度很高,能够集成绝大多数的开发工具,比如 JIRA
    • 支持内置 HA,保证在高并发下仍然可以高可用性,无需搭建第三方高可用服务,保证用户在 7*24 小时均能使用

    Gitlab 主要服务构成

    • Nginx 静态 Web 服务器:proxy 代理,处理所有 HTTPS 静态访问请求
    • Gitlab-workhorse 轻量级的反向代理服务器:处理一些较大的文件上传下载,以及我们经常使用的 git push 命令行操作
    • Gitlab-shell:用户处理 Git 命令和修改 authorized keys 列表(ssh 公钥列表)
    • Logrotate:日志文件管理工具,负责Gitlab 日志切割、打包等操作
    • Postgresql:数据库,保存所有 Gitlab 数据信息
    • Redis:缓存服务器,缓存数据库信息

    Gitlab 简单工作流程

    1. 创建并克隆项目
    2. 创建项目某 Feature 分支
    3. 编写代码并提交至该分支
    4. 推送该项目分支到远程 Gitlab 服务器
    5. 进行代码检查并提交 Master 主分支合并申请
    6. 项目主管审查代码并确认合并申请
  • 相关阅读:
    HTML5 与 CSS3 jQuery部分知识总结【转】
    JS中检测数据类型的几种方式及优缺点【转】
    PHP 小数点保留两位【转】
    ES6中的const命令【转】
    bootstrap学习笔记【转】
    让一个元素垂直水平居中的三种方法【转】
    JavaScript笔试必备语句【转】
    网站优化——前端部分【转】
    移动App服务端架构设计
    IE6浏览器常见的bug及其修复方法
  • 原文地址:https://www.cnblogs.com/poloyy/p/14685497.html
Copyright © 2020-2023  润新知