1. 程式人生 > >Ubuntu搭建Gitlab服務器

Ubuntu搭建Gitlab服務器

package font 依賴包 source 教你 roc apt 結果 配置文件

想到Gitlab就必定會想到SVN,因為兩者都是代碼管理系統,作為開發人員來說,用習慣了SVN的圖形化界面和SVN代碼更新和提交的方式,

可能就會覺得使用git會比較麻煩,其實不然git使用起來非常方便,並且好處也不少,git後面會成為一種流行和趨勢。所以在這兒簡單的介紹Gitlab

服務器的搭建和git的一些基本操作使用。

技術分享圖片

Git的優點和缺點介紹

優點

1、適合分布式開發,強調個體

2、公共服務器壓力和數據量都不會太大

3、速度快、靈活

4、任意兩個開發者之間可以很容易的解決沖突

5、離線可以正常提交代碼和工作

缺點

1、學習周期相對而言比較長

2、不符合常規思維

3、代碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有代碼和版本信息

準備環境

Ubuntu16.04 server

安裝介紹

主要記錄在Ubuntu 16.04操作系統中搭建GitLab服務器的操作記錄,以下是操作步驟(主要參考資料:https://about.gitlab.com/downloads/#ubuntu1604)

Gitlab安裝

1.安裝依賴包

sudo apt-get install curl openssh-server ca-certificates postfix

註:執行完成後,出現郵件配置,選擇Internet那一項(不帶Smarthost的)

2.利用清華大學的鏡像(https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/)來進行主程序的安裝

首先信任 GitLab 的 GPG 公鑰

curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null

使用root用戶修改配置文件

vi /etc/apt/sources.list.d/gitlab-ce.list

#添加以下內容

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main

vi /etc/gitlab/gitlab.rb

external_url ‘http://172.16.81.91/‘

安裝 gitlab-ce

sudo apt-get update

sudo apt-get install gitlab-ce

3.啟動sshd和postfix服務

service sshd start

service postfix start

4.添加防火墻規則

sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

5.啟動各項服務

sudo gitlab-ctl reconfigure

6..檢查GitLab是否安裝好並且已經正確運行

sudo gitlab-ctl status

#如果得到類似下面的結果,則說明GitLab運行正常

技術分享圖片

7.瀏覽web頁面並設置密碼

http://172.16.81.91/

技術分享圖片

8.創建組

技術分享圖片

9.添加ssh key

git倉庫之間的代碼傳輸協議主要使用ssh協議。而一般搭建gitlab的時候使用的git用戶是沒有密碼的,因此直接ssh是不能登錄的,就需要使用ssh-keygen上傳公鑰,使用非對稱加密傳輸。下面講述如何上傳你的ssh公鑰:

生成sshkey

在終端中敲下面的命令,第一步會生成一對私鑰和公鑰,分別存在 ~/.ssh/id_rsa~/.ssh/id_rsa.pub中。第二步查看公鑰字符串。

   ssh-keygen -t rsa -C "郵箱地址"
   cat ~/.ssh/id_rsa.pub

在面板上依次點擊Profile Settings –> SSH Keys –> Add SSH Keys。然後把上一步中的id_rsa.pub中的內容拷貝出來粘貼到輸入框中,保存。

技術分享圖片

完成上面兩步之後就成功的添加了sshkey了,然後就可以上傳代碼了。

10.創建項目

創建項目Test_Project

技術分享圖片

下一步,選擇組,輸入項目名

技術分享圖片

下一步,創建完成

技術分享圖片

在項目下面會有git的操作指南教你如何操作

技術分享圖片

完成創建項目!

至此,基於Ubuntu 16.04 x64操作系統的GitLab服務器搭建工作就完成了!

後續繼續分享git的基本使用!

Ubuntu搭建Gitlab服務器