CentOS環境GitLab安裝與配置

前言

GitLab是利用 Ruby on Rails 一個開源的版本管理系統,實現一個自託管的Git項目倉庫,可通過Web界面進行訪問公開的或者私人項目。

它擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和註釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本並提供一個文件歷史庫。

團隊成員可以利用內置的簡單聊天程序(Wall)進行交流。

它還提供一個代碼片段收集功能可以輕鬆實現代碼複用,便於日後有需要的時候進行查找。

環境:CentOS 7

Git的家族成員

Git:是一種版本控制系統,是一個命令,是一種工具。

Gitlib:是用於實現Git功能的開發庫。

Github:是一個基於Git實現的在線代碼託管倉庫,包含一個網站界面,向互聯網開放。

GitLab:是一個基於Git實現的在線代碼倉庫託管軟件,你可以用gitlab自己搭建一個類似於Github一樣的系統,一般用於在企業、學校等內部網絡搭建git私服。

Gitlab的服務構成

Nginx:靜態web服務器。

gitlab-shell:用於處理Git命令和修改authorized keys列表。

gitlab-workhorse:輕量級的反向代理服務器。

logrotate:日誌文件管理工具。

postgresql:數據庫。

redis:緩存數據庫。

sidekiq:用於在後臺執行隊列任務(異步執行)。

unicorn:An HTTP server for Rack applications,GitLab Rails應用是託管在這個服務器上面的。

GitLab工作流程 

GitLab Shell

GitLab Shell有兩個作用:爲GitLab處理Git命令、修改authorized keys列表。

當通過SSH訪問GitLab Server時,GitLab Shell會:

限制執行預定義好的Git命令(git push, git pull, git annex)

調用GitLab Rails API 檢查權限

執行pre-receive鉤子(在GitLab企業版中叫做Git鉤子)

執行你請求的動作 處理GitLab的post-receive動作

處理自定義的post-receive動作

當通過http(s)訪問GitLab Server時,工作流程取決於你是從Git倉庫拉取(pull)代碼還是向git倉庫推送(push)代碼。

如果你是從Git倉庫拉取(pull)代碼,GitLab Rails應用會全權負責處理用戶鑑權和執行Git命令的工作;

如果你是向Git倉庫推送(push)代碼,GitLab Rails應用既不會進行用戶鑑權也不會執行Git命令,它會把以下工作交由GitLab Shell進行處理:

調用GitLab Rails API 檢查權限
執行pre-receive鉤子(在GitLab企業版中叫做Git鉤子)
執行你請求的動作
處理GitLab的post-receive動作
處理自定義的post-receive動作

GitLab Workhorse

GitLab Workhorse是一個敏捷的反向代理。它會處理一些大的HTTP請求,比如文件上傳、文件下載、Git push/pull和Git包下載。其它請求會反向代理到GitLab Rails應用,即反向代理給後端的unicorn。 

Gitlab環境部署

ECS配置要求:內存2G以上

1、配置yum源。

vim /etc/yum.repos.d/gitlab-ce.repo

  複製以下內容:(注意自己是el6還是el7!!!對應centos6和7)

[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7  
Repo_gpgcheck=0
Enabled=1
Gpgkey=https://packages.gitlab.com/gpg.key

2、更新本地yum緩存

sudo yum makecache

3、安裝GitLab社區版。

sudo yum install gitlab-ce        #自動安裝最新版
sudo yum install gitlab-ce-x.x.x    #安裝指定版本

GitLab使用

登錄GitLab

  1. 在瀏覽器的地址欄中輸入ECS服務器的公網IP即可登錄GitLab的界面,第一次登錄使用的用戶名和密碼爲 root 和 5iveL!fe。
  2. 首次登錄會強制用戶修改密碼。密碼修改成功後,輸入新密碼進行登錄。
  3.  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章