天天看點

Gitlab - 搭建屬于自己的gitlab

一:前言

前兩天在弄釘釘接口的機器人,發現了有github機器人,而且配置超級簡單,隻需要定義一個入口,當你送出後,背景會自動發送 request、payload,調用git機器人發送釘釘消息。

然後就想着自己搭建一個gitlab能否實作此功能,于是就說做就做;

将自己實際搭建過程和大家分享一下。(來自官網)

官網 https://about.gitlab.com/downloads/

二:"git" 家族的成員

首先解決一個容易混淆的問題,我也經常搞混:

Gitlab - 搭建屬于自己的gitlab

git

是一種版本控制系統,是一個指令,是一種工具

gitlib

是用于實作git功能的開發庫

github

是一個基于git實作的線上代碼托管倉庫,包含一個網站界面,向網際網路開放

gitlab

是一個基于git實作的線上代碼倉庫托管軟體,你可以用gitlab自己搭建一個類似于github一樣的系統,一般用于在企業、學校等内部網絡搭建git私服

三:官方推薦安裝(rpm、yum)

1、安裝依賴包

yum install curl policycoreutils openssh-server openssh-clients

systemctl enable sshd  &&  systemctl start sshd

yum install postfix

systemctl enable postfix  &&  systemctl start postfix

firewall-cmd --permanent --add-service=http    //永久設定http服務開放

systemctl reload firewalld

2、安裝 gitlab-ce 社群版 (yum方式,ee是企業版,收費)

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh |sudo bash

yum install gitlab-ce

Gitlab - 搭建屬于自己的gitlab
Gitlab - 搭建屬于自己的gitlab

--------------------------------------------------------------------------------------

2、安裝 gitlab-ce 社群版(rpm包安裝方式)

wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-XXX.rpm/download

rpm -i gitlab-ce-XXX.rpm

3、配置并開啟 gitlab

gitlab-ctl reconfigure   //此時會輸入如下很多資訊,并啟動好多服務

Gitlab - 搭建屬于自己的gitlab

4、測試通路

首次登陸會跳出設定密碼的界面,設定完後自動跳轉到登入界面,預設使用者名root。

登陸進去後,可以更改使用者名、密碼等。

初始登入時,總報502,也沒有防火牆,經檢查是記憶體不足,我是1G。

Gitlab - 搭建屬于自己的gitlab

5、說明

缺點:這種方式雖然說簡單友善,但是定制型很差,預設隻能使用postgre和nginx

主配置檔案:/etc/gitlab/gitlab.rb   //可以自定義一些郵件服務等

日志位址:/var/log/gitlab/    // 對應各服務

服務位址:/var/opt/gitlab/   // 對應各服務的主目錄

倉庫位址:/var/opt/gitlab/git-data //記錄項目倉庫等送出資訊

重置配置:gitlab-ctl reconfigure    //不要亂用,會重置為最原始的配置的

重新開機服務:gitlab-ctl  stop/start/restart  //啟動指令

預設安裝:postgres、nginx、redis、unicorn ......

6、配置(就是點點點,熟悉熟悉這個應用)

a、建立一個項目組groups,生成路徑/var/opt/gitlab/git-data/repositories/;

b、建立一個倉庫,可用三種方式連結,新的倉庫、已存在的檔案夾、已存在的倉庫;

建立時可導入 github、gitlab、googlecode 等其他地方的倉庫,需要對方token

Gitlab - 搭建屬于自己的gitlab

c、根據下圖路徑及提示,建立使用者、不加入或加入項目組或者項目或項目子組;

該使用者在此界面上面 Users 中設定密碼後登入,根據得到的連結位址 git 到倉庫

當然把你這台機器上的公鑰拷到 seting -> ssh key 即可省去輸入如密碼一項

Gitlab - 搭建屬于自己的gitlab

d、你的每次送出都會有記錄在服務端  該組或該使用者所在repositories中。

Gitlab - 搭建屬于自己的gitlab

-----------------------------------------------------------------------------------------

好了,簡單的使用教程就到此為止了,後續更深入的使用,再與大家共同分享。

過一陣我會嘗試用源碼包自定制服務安裝一回,敬請期待喽............

簡化的使用手冊:https://wenku.baidu.com/view/6ceb6662b8f67c1cfad6b88e.html