Ubuntu18.04 GitLab倉庫服務器搭建


首先安裝必須的一些依賴

sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates

 

安裝Postfix發送通知郵件

sudo apt-get install -y postfix

運行命令后,會出現一樣郵件配置項,選擇Interent site這項,然后一路回車鍵使用左右鍵和回車鍵選擇確定、取消,彈出列表選項的時候,選擇 Internet Site)

官方源安裝gitlab

官方源網站安裝gitlab(如果官網無法安裝,請參照下邊步驟,利用國內安裝源進行安裝)

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

國內源安裝gitlab

信任 GitLab 的 GPG 公鑰(配置git的公鑰,如果不信任公鑰,無法配置清華大學的鏡像路徑,切記):

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

配置鏡像路徑(由於git官網是國外的服務器,所以配置清華大學的鏡像路徑)

切換到root用戶,打開下面文件;將下邊的信息添加到文檔中(詳見Gitlab Community Edition 鏡像使用幫助

vi /etc/apt/sources.list.d/gitlab-ce.list  --打開文件
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main  --添加國內安裝源

gitlab安裝包下載地址:https://packages.gitlab.com/gitlab/gitlab-ce

國內源安裝 gitlab-ce

sudo apt-get update  --更新
sudo apt-get install gitlab-ce  --安裝

 

執行配置

sudo gitlab-ctl reconfigure

 注1:

在執行配置的時候sudo gitlab-ctl reconfigure的時候往往會出現:ruby_block[supervise_redis_sleep] action run,出現會一直卡無法往下進行!

解決方案:

1、按住CTRL+C強制結束;

2、運行:sudo systemctl restart gitlab-runsvdir

3、再次執行:sudo gitlab-ctl reconfigure

 

 注2:(自己遇到的坑,在網上查的資料得知,)

  1. 在ruby_block動作運行一步會出現超時

運行處理程序:運行gitlab-ctl reconfigure時出錯:ruby_block [使用GitLab授權Grafana](監視:: grafana第95行)發生錯誤:Mixlib :: ShellOut :: CommandTimeout:命令在600秒后超時:命令超出允許執行時間,進程終止
----開始輸出/ opt / gitlab / bin / gitlab-railsRunner -e production'app = Doorkeeper :: Application.where(redirect_uri:“ http://xx.xx.xx.xx/ -/ grafana / login / gitlab”,名稱:“ GitLab Grafana”)。first_or_create;放入app.uid.concat(“”).concat(app.secret);' ---- STDOUT:
STDERR:
---- / opt / gitlab / bin / gitlab-railsRunner的最終輸出-e production'app = Doorkeeper :: Application.where(redirect_uri:“ http://xx.xx。 xx.xx /-/ grafana / login / gitlab”,名稱:“ GitLab Grafana”)。first_or_create;放入app.uid.concat(“”).concat(app。
----運行/ opt / gitlab / bin / gitlab-railsRunner
-e production'app = Doorkeeper :: Application.where(redirect_uri:“ http://xx.xx.xx.xx/-/grafana/login/ gitlab”,名稱:“ GitLab Grafana”)。first_or_create;放入app.uid.concat(“”).concat(app.secret);' 

2.sudo gitlab-rake gitlab:env:info正常返回雖然有時上面一步出現超時,測試發現已經可以通過瀏覽器訪問Gitlab服務器,並且可以進入到注冊頁面,但提交注冊時出現返回超時而用戶可以成功注冊的情況。配置信息,頁面返回雖然超時但操作可以正常完成,這也是我判斷可能是服務運行過緩慢導致超時的原因。

3.在登錄時反復超時,無法正常使用。將服務器內存配置替換為2GB后解決超時問題

 

注3:如果遇到這種報錯信息的話,應該是git用戶權限的問題。git用戶需要對包含.ssh目錄的文件夾(包含父文件夾)執行權限。

Running handlers:
There was an error running gitlab-ctl reconfigure:

service[grafana] (dynamically defined) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of /opt/gitlab/embedded/bin/chpst -u root:root /opt/gitlab/embedded/bin/sv restart /opt/gitlab/service/grafana ----
STDOUT: timeout: run: /opt/gitlab/service/grafana: (pid 5165) 33s, got TERM
STDERR:
---- End output of /opt/gitlab/embedded/bin/chpst -u root:root /opt/gitlab/embedded/bin/sv restart /opt/gitlab/service/grafana ----
Ran /opt/gitlab/embedded/bin/chpst -u root:root /opt/gitlab/embedded/bin/sv restart /opt/gitlab/service/grafana returned 1

 即使/var/opt/gitlab/.ssh的所有者和用戶組都是git,由於父權限,它也不能到這級目錄執行shell命令。即,給 /var/opt/gitlab/目錄執行權限

chmod +x /var/opt/gitlab/
chmod +x /var/opt/
chmod +x /var/

如果執行不成功,就用sudo命令執行

 

啟動gitlab

sudo gitlab-ctl start

 

瀏覽器進行訪問

http://電腦的IP地址

  第一次進入,需要輸入管理員賬號的密碼,以方便后期的管理。
輸入好之后,就可以以管理員進行登錄,賬號是root,密碼就是你剛才輸入的密碼。
至此,gitlab已安裝成功,之后的使用方式,和github沒有太大差異,就不進行介紹了

 

擴展

修改gitlab的端口和地址

編輯gitlab.rb

sudo gedit /etc/gitlab/gitlab.rb

將如下數據進行更改

external_url 'http://gitlab.example.com'

比如說更改為

external_url 'http://192.168.39.100:7800'

其中,192.168.39.100是安裝了gitlab的這台電腦的IP,端口只要不沖突就行

更改之后,需要執行如下代碼

sudo gitlab-ctl reconfigure 

最后,在瀏覽器中訪問gitlab,發現已修改成功,需要使用192.168.39.100:7800來訪問

 

其他

gtilab部分命令

開啟
sudo gitlab-ctl start
停止
sudo gitlab-ctl stop
重啟
sudo gitlab-ctl restart
查看狀態
sudo gitlab-ctl status
確認配置(修改配置后,必須執行)
sudo gitlab-ctl reconfigure
查看日志
sudo gitlab-ctl tail 
查看 GitLab 版本號
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 

卸載gitlab

sudo gitlab-ctl uninstall

sudo dpkg -r gitlab-ce

sudo rpm -e gitlab-ce

reboot(重啟)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM