在寫這篇部落格之前,為了更好的描述整個流程,本人親自嘗試了:從搭建到使用,下面就圍繞這個流程來闡述整個過程,目錄結構如下所示:
git的安裝搭建
git的正常操作
gitlab的搭建
gitlab的使用
下面我們開始整個流程。
其實,作為開發人員,git的使用是必備的技能,也許我們都很熟悉如何使用git,對git的常用指令也了如指掌;但是對git伺服器的搭建也
許我們并不太在意,因為這些事情自從我們進入公司,運維人員就已經幫我們做好來,我們隻需要知道如何去使用(拉去代碼,送出代碼)。但是如果有一天,你去
來一家打算使用git來作為代碼管理器的公司,要求你來搭建這個代碼管理平台,也許你會碰很多壁,下面給出我搭建的流程,也許能為您節省很多不必要的麻
煩,保證您一次搭建成功。
環境準備:
系統環境:centos 6.x
軟體版本:git-2.3.1.tar.gz
下載下傳位址:https://www.kernel.org/pub/software/scm/git/
編譯git版本:
首先安裝依賴(以下都是在root目錄下完成):
注:編譯時如果作業系統沒有安裝gcc,使用yum –y install gcc*
另外,如果直接使用yum –y install git安裝的版本比較舊(1.7.x),安裝完成後輸入git --version,會顯示對應的版本号,若現實的版本号不對(之前作業系統存在git),可以先解除安裝之前的版本,然後做一個軟連結,指令如下:
下面建立git使用者,指令如下所示:
在git使用者下安裝ssh,指令如下所示:
然後一路回車即可。
這是一款git服務管理工具,通過公鑰對使用者進行認證,并能夠利用配置檔案進行repo的精細授權管理。 輸入以下指令:
出現如下圖所示,即表示成功。
由于手上機器有限,我将權限配置和git 倉庫配置在同一台機器上,在前面我們添加了git使用者下的公鑰,下面在git賬戶下直接輸入如下指令:
注:這裡的git.company.com在實際使用中可以換成公司域名或ip。
如果在執行指令時,需要輸入密碼,說明前面某些配置出錯了,需要重新查證解決後在繼續。
克隆完成後,會在gitolite-admin目錄下出現兩個子目錄:conf和keydir。conf是gitolite的權限配置檔案
夾,keydir用于放置所有使用者的公鑰。是以,現在我們将guest.pub檔案(開發者電腦生成的公鑰)放入keydir目錄中,然後編輯
conf/gitolite.conf,在檔案末尾添加新的repo和權限。下面我們添加一個repo為hdfs-etl,擁有讀寫權限。内容如下:
注:r(讀)w(寫)
修改完成後,我們送出更改,完成使用者及其庫的添加,指令如下:
下面我在guest的主機上克隆hdfs-etl的工程,指令如下:
如果在網絡正常的情況下克隆失敗,說明公鑰添加未成功;若克隆成功,則會出現hdfs-etl的目錄。當然我們也可以檢視一下操作的權限,指令如下:
如下圖所示:
如圖所示,我機上上擁有讀和寫的權限,與配置的權限一緻。
任何地方使用ssh或git登入到git伺服器需要輸入密碼,都說明配置git伺服器出現錯誤,需要重新安裝gitolite,重新安裝前先清除之前的檔案,清除指令如下所示:
到這裡git篇就贅述完成了,至于git 的常用操作,我想作為開發人員,應該是了熟于心,這裡我就不多贅述了。
gitlab 是一個用于倉庫管理系統的開源項目。使用git作為代碼管理工具,并在此基礎上搭建起來的web服務,它內建了github的可視化功能,友善開發人員協同工作,下面我就圍繞gitlab的搭建使用來展開描述。
作業系統:centos 6.x
gitlab版本:7.8.1
由于gitlab官方給出的安裝過程難以成功(嘗試過很多次,各種出錯,環境隻是一種工具,不應該花費太多的時間在這上面)。下面給出一個內建安裝工具包bitnami,關于bitnami的簡介,這裡不做贅述,可自行谷歌了解。
bitnami-gitlab下載下傳位址:https://downloads.bitnami.com/files/stacks/gitlab/7.8.1-0/bitnami-gitlab-7.8.1-0-linux-x64-installer.run
下載下傳完成後,我們開始安裝流程,指令如下:
注:機器記憶體至少1g,不然跑不起來。
下面列出安裝流程:
到這裡,gitlab就安裝完成了。
指令如下:
下面我們登入到gitlab的可視化界面,截圖如下:
其實首次登入的時候,如果沒有在配置檔案中配置,是會有注冊功能的,這裡為了安全考慮,我以管理者的身份登入,然後在設定界面去掉了注冊功能。
下面示範gitlab使用流程:
建立項目:
其中需要注意: 如果屬于group級的項目,也就是屬于多人配合的項目,建議namespace使用group name,另外visibility預設為internal。我們先建立一個組,如圖所示:
這裡我們添加組所屬使用者,如圖所示:
源倉庫的建構
我們接下來按照步驟來建立一個自己的項目:
按照以上提示的步驟操作,我們即可以建立或者導入一個項目成功。
到這裡,gitlab的搭建和項目建立就介紹完成了。
後面,等手上的資料整理完成後,我會在寫一篇gitlab的pull request工作流的介紹,這篇文章就分享到這裡;如果有什麼問題,可以加群讨論或發送郵件給我,我會盡我所能為您解答,與君共勉!