Gitlab伺服器搭建

2021-10-02 10:41:45 字數 2772 閱讀 2135

gitlab install

todo

參考gitlab的官方文件,需要關注memory一條,實際使用中發現需要2gb ram + 2g swap才能正常安裝、執行gitlab。

需要注意的是預設系統配置中沒有使用swap,之前沒有接觸過伺服器端不清楚這是不是雲伺服器的普遍配置方式。

安裝、配置gitlab時記憶體開銷會大於1g,在目前的伺服器上出現out of memory的問題,選擇配置swapfile新增swap空間的方式來解決記憶體不足的問題。swap空間一般設定為物理記憶體的一倍(或兩倍)大小。

step 1. 建立2gb大小的空檔案

sudo

dd if='/dev/zero of=/root/swapfile bs=1024 count=2048

step 2. 製作swap檔案並生效

sudo mkswap /root/swapfile

sudo swapon /root/swapfile

step 3. 設定開機自動掛載

sudo vim /etc/fstab
將下面資訊新增為最後一行

/root/swapfile swap swap defaults 0 0

使用top命令或者free -m來檢視swap設定是否生效

新增swap後,gitlab-ctl reconfigure不再出現out of memory問題,但在後續操作和使用中會出現超時問題,個人猜測是由於大量使用swap空間(物理記憶體剩餘只有60mb左右),導致服務執行速度過慢導致。

出現超時的幾個地方:

在ruby_block action run一步會出現超時

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

在登入時反覆超時,無法正常使用。

將伺服器記憶體配置改為2gb後解決超時問題。

安裝過程參考官方文件

安裝、配置必要依賴

sudo

apt-get update

sudo

apt-get

install -y curl openssh-server ca-certificates

安裝郵件服務(這步先跳過,後面再補)

sudo

apt-get

install -y postfix

新增gitlab源並安裝

新增源

curl  |

sudo

bash

安裝

sudo external_url=

"host_url_or_ip:port"

apt-get

install gitlab-ee

在沒有url的情況下,直接使用ip來取代上述命令中的 host_url_or_ip,用 「 」 將ip包起來(不包沒試過),埠預設使用8080,也可以設定自己需要的埠。

上述命令會依次執行安裝、配置兩步。目前碰到的問題都是出現在配置一步(如上面提到的記憶體大小導致的問題),如果出現類似以下問題:

running handlers: there was an error running gitlab-ctl reconfigure:

bash[migrate gitlab-rails database] (gitlab::database_migrations line

51) had an error: mixlib::shellout::shellcommandfailed: expected

process to exit with [0], but received 『1』

可以嘗試以下解決方法:

sudo gitlab-ctl stop

sudo

chmod 755 /var/opt/gitlab/postgresql

sudo systemctl restart gitlab-runsvdir

sudo gitlab-ctl reconfigure

sudo gitlab-ctl restart

訪問服務並註冊

首次訪問服務時,需要設定管理員賬號的密碼,預設管理員id為 root。

限制使用者註冊

gitlab預設是沒有註冊限制的,也就是說任何人只要登入了xx.xx.xx.xx/users/sign_in頁面,就可以使用註冊功能進行註冊,因此我們需要對使用者註冊進行限制。

gitlab提供了如白名單、黑名單等比較豐富的註冊限制功能。需要使用管理員賬號(root)登入,進入admin area。

詳細資訊請參考官方文件。

由於我搭建的服務僅限自己和兩三個好友使用(目前我理解的gitlab白名單功能需要有私有網域名稱的郵箱才能使用),因此我關閉了註冊功能,直接在管理面板中新增使用者。

email通知

ssh

GitLab伺服器搭建

這幾天有個同事在搭建gitlab伺服器,按照官網的教程搭建好之後clone時總是找不到倉庫,各種嘗試都不行,最後用下面的方案解決了。sudo yum install curl openssh server openssh clients postfix cronie sudo service pos...

Gitlab 伺服器搭建

一 官網位址 首頁 安裝說明 installation 二 安裝命令摘錄 調整後的安裝過程 可將上述命令放在乙個指令碼檔案中,直接執行指令碼檔案,耐心等待即可 當前步驟完成後重啟。三 gitlab 服務操作 初始化配置 gitlab gitlab ctl reconfigure 啟動 gitlab ...

gitlab伺服器搭建

sudo apt get install curl openssh server ca certificates postfix 按tab鍵 上下鍵進行選擇 internet site ok ok 顯示如下畫面,則表示安裝成功 檢視伺服器ip位址進行配置,如圖所示 進入以下介面,進行密碼修改 密碼修...