在CentOS上架設Gitlab

Hachibye
6 min readMay 25, 2021

--

環境:
CentOS 8 / 2 Core / 2G RAM / 20G HDD(VMDK)
一次裝在GCP的機器上,一次裝在VirtualBox上,大同小異啦

前置作業:
根據安裝幾次的經驗,最好有4G RAM以上的配置
若無,建議事先分割多一點磁碟空間來成為記憶體的緩衝區
RAM不夠能卡你好幾小時,甚至可能跑不起來,RAM夠的話體驗極佳!

cd /
mkdir swap
dd if=/dev/zero of=swapfile bs=1M count=1024
fallocate -l 6G /swap/swapfile
mkswap /swap/swapfile
swapon /swap/swapfile

上面的指令是以6G為例,可自行根據需求更改
若希望這個設置永久生效,需要再多修改一個配置文件

vim /etc/fstab

加入底下這一行

/swap/swapfile  swap   swap  defaults  0 0

查看你切好的緩衝記憶體

swapon -s

進入正題!
Gitlab的官方安裝步驟
https://about.gitlab.com/install/#centos-8

sudo suyum -y update

開啟管理員權限
並檢查一下安裝軟件有沒有要更新的

sudo dnf install -y curl policycoreutils openssh-server perlsudo systemctl enable sshdsudo systemctl start sshd

下載並開啟ssh

systemctl status firewalldsudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --permanent --add-service=httpssudo systemctl reload firewalld

開啟防火牆
加入http與https放行規則
並重新載入防火牆

sudo dnf install postfixsudo systemctl enable postfixsudo systemctl start postfix

開啟郵件服務

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

開始跑官方給的腳本

sudo EXTERNAL_URL="http://gitlab.example.com/" dnf install -y gitlab-ee

指定對外連結的名字,這一行會跑比較久(注意http或https)
➜ 1. 你有買域名、有買SSL就直接用
➜ 2. 你沒買域名、沒買SSL就隨便取,再到用戶端改hosts文件也可

sudo gitlab-ctl reconfigure

以gitlab-ctl指令來執行初始化(重新配置)

除非你的硬件不給力,或者臉黑報錯
跟著官方安裝步驟到這裡就完成了,有沒有非常簡單!

馬上到瀏覽器打開(你的域名)或(你的主機IP地址)
第一次登入會要求你設定管理員密碼

設定好之後開始登入
帳號是root,密碼就是你剛才設定的

登入之後就進入到Gitlab的後台啦

點擊扳手標誌可進入管理員控制台

試著建立一個新的使用者
需要先預設一組密碼
還有指定權限為一般使用者或管理員

也能放SSH KEY

接下來切換到剛才創建的使用者登入
第一次登入會提示修改密碼

如果想要像上面一樣個人化或進行設置
點擊右上角的頭像會有一個「Preferences」

這裡有大家最在意的中文化(?)
目前完成度只有4%,反而日文有45%呢,還是認命用英文介面吧XD

最後最後
分享一些有遇到的問題點、相關指令、以及除錯步驟

dnf repolist

檢查裝好的東西

gitlab-ctl status

檢查狀態
run代表正常運行

sudo gitlab-ctl tail

查看日誌
會不斷更新,按ctrl+c退出
如果要查看指定的日誌就是例如 sudo gitlab-ctl tail nginx/gitlab_error.log

gitlab-ctl reconfigure

剛才提到的重新配置(讓設置都初始化)

gitlab-ctl restart

若你更改了設置,要重啟服務就敲這一行

sudo gitlab-rake gitlab:check

這是一條修復指導的命令
若服務報錯了,運行失敗了,網頁端掛了,發生什麼問題了
你可透過自我檢查的報錯訊息或剛才提到的日誌來一一進行排錯

常見問題:
1. 記憶體不夠,網頁會掛
2. 外部連結沒有指對,網址的最後不要加斜線「http://example.com」
3. 注意http或https
4. 修改之前記得註解原本那一行或備份起來

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

其他問題(有遇到才更新)

Ruby_block[authorize Grafana with GitLab] action run timeouts

解決方法:
修改文件 vi /etc/gitlab/gitlab.rb
尋找 /grafana
將設置改為否 set grafana[‘enable’] = false

--

--

Hachibye
Hachibye

Written by Hachibye

字幕組退休勞工 ... DevOps/系統/雲端/資安

No responses yet