天天看點

雲伺服器 ECS 建站教程:GitLab的安裝及使用

gitlab的安裝及使用

gitlab是利用 ruby on rails 一個開源的版本管理系統,實作一個自托管的git項目倉庫,可通過web界面進行通路公開的或者私人項目。

它擁有與github類似的功能,能夠浏覽源代碼,管理缺陷和注釋。可以管理團隊對倉庫的通路,它非常易于浏覽送出過的版本并提供一個檔案曆史庫。

團隊成員可以利用内置的簡單聊天程式(wall)進行交流。

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

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工作流程

雲伺服器 ECS 建站教程: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 workhorse

gitlab workhorse是一個靈活的反向代理。它會處理一些大的http請求,比如檔案上傳、檔案下載下傳、git push/pull和git包下載下傳。其它請求會反向代理到gitlab rails應用,即反向代理給後端的unicorn。

ecs配置要求:記憶體2g以上

方法一:鏡像部署

鏡像名稱:gitlab代碼管理(centos 64位 | gitlab) | 鏡像幫助文檔

進入鏡像詳情頁面,單擊立即購買,按提示步驟購買 ecs 執行個體。

購買完成之後,登入”ecs 管理控制台”,在左邊導航欄裡,單擊”執行個體”,進入 ecs 執行個體清單頁,選擇所購 ecs 執行個體所在的地域,并找到所購 ecs 執行個體,在”ip 位址”列擷取該執行個體的公網 ip 位址。

注意:鏡像部署好後預設是禁止遠端通路的,是以直接通路ecs伺服器的公網ip是不能通路到gitlab的登入界面的,請先運作/alidata目錄下的gitlab_opennet.sh腳本,開啟遠端通路,然後再通過浏覽器通路公網ip來通路gitlab的首頁。

方法二:手動部署:

1、配置yum源

複制以下内容:

雲伺服器 ECS 建站教程:GitLab的安裝及使用

2、更新本地yum緩存

雲伺服器 ECS 建站教程:GitLab的安裝及使用

3、安裝gitlab社群版

雲伺服器 ECS 建站教程:GitLab的安裝及使用

gitlab常用指令:

登入gitlab

1、在浏覽器的位址欄中輸入ecs伺服器的公網ip即可登入gitlab的界面,第一次登入使用的使用者名和密碼為 root 和 5ivel!fe。

雲伺服器 ECS 建站教程:GitLab的安裝及使用

2、首次登入會強制使用者修改密碼。密碼修改成功後,輸入新密碼進行登入。

雲伺服器 ECS 建站教程:GitLab的安裝及使用
雲伺服器 ECS 建站教程:GitLab的安裝及使用

建立project

1、安裝git工具linux:安裝git,使用自帶的源安裝。

雲伺服器 ECS 建站教程:GitLab的安裝及使用

2、生成密鑰檔案

使用ssh-keygen生成密鑰檔案.ssh/id_rsa.pub。

雲伺服器 ECS 建站教程:GitLab的安裝及使用
雲伺服器 ECS 建站教程:GitLab的安裝及使用

3.在gitlab的首頁中建立一個project

雲伺服器 ECS 建站教程:GitLab的安裝及使用
雲伺服器 ECS 建站教程:GitLab的安裝及使用

4.添加ssh key導入步驟2中生成的密鑰檔案内容:

雲伺服器 ECS 建站教程:GitLab的安裝及使用
雲伺服器 ECS 建站教程:GitLab的安裝及使用

ssh key添加完成:

雲伺服器 ECS 建站教程:GitLab的安裝及使用

項目位址,該位址在進行clone操作時需要用到:

雲伺服器 ECS 建站教程:GitLab的安裝及使用

簡單配置

1、配置使用git倉庫的人員姓名

2、配置使用git倉庫的人員email,填寫自己的公司郵箱

3、克隆項目,在本地生成同名目錄,并且目錄中會有所有的項目檔案

雲伺服器 ECS 建站教程:GitLab的安裝及使用

1、進入到項目目錄

2、建立需要上傳到gitlab中的目标檔案

3、将目标檔案或者目錄拷貝到項目目錄下

雲伺服器 ECS 建站教程:GitLab的安裝及使用

4、将test.sh檔案加入到索引中

5、将test.sh送出到本地倉庫

6、将檔案同步到gitlab伺服器上

雲伺服器 ECS 建站教程:GitLab的安裝及使用

7、在網頁中檢視上傳的test.sh檔案已經同步到gitlab中

雲伺服器 ECS 建站教程:GitLab的安裝及使用

<a href="https://help.aliyun.com/document_detail/52857.html?spm=5176.doc53099.6.722.eb6cdh">原文連結</a>