????????當前GitLab的最新版是v17.10,安裝地址:https://about.gitlab.com/install/。當然國內也可以安裝極狐GitLab版本,極狐GitLab 是 GitLab 中國發行版(JH)。極狐GitLab支持龍蜥,歐拉等國內的操作系統平臺。安裝地址及說明,請點擊該鏈接:極狐GitLab下載。
? ? ? ? 這里就以極狐版本為例了,服務器使用的龍蜥操作系統,以下是官網手冊:
注意:以下安裝教程是特定版本的極狐GitLab 在 Anolis OS 8.8 RHCK/ANCK 上的安裝流程。
1. 安裝和配置所需的依賴
執行下面命令完成依賴安裝:
sudo yum update sudo yum install -y curl policycoreutils-python-utils openssh-server perl sudo systemctl enable sshd sudo systemctl start sshd
注意:如果依賴安裝過程中出現錯誤,可以根據錯誤提示信息進行錯誤處理。
2. 下載極狐GitLab 安裝包
下載適用于 Anolis 操作系統的極狐GitLab 安裝包,這個需要根據自身情況選擇合適的極狐GitLab 版本,比如以極狐GitLab 17.7.0 為例,針對?x86_64
?架構,執行如下命令即可完成下載:
curl -LOS https://packages.gitlab.cn/repository/el/8/gitlab-jh-17.7.0-jh.0.el8.x86_64.rpm
注意:您需要根據自身所用的 Anolis 操作系統版本下載對應的極狐GitLab 版本。
接下來,安裝極狐GitLab。安裝之前,需要確保您的DNS設置正確。注意:如果不設置域名,就沒必要設置DNS了。此外,還需要通過設置?EXTERNAL_URL
?環境變量來指定極狐GitLab 實例的 URL。
如果您想通過?HTTPS
?來訪問實例,那么您可以根據官方文檔進行配置,讓實例使用 Let's Encrypt 自動請求 SSL 證書,這需要有效的主機名和入站 HTTP 訪問。您也可以使用自己的證書或僅使用?http://
(不帶?s
)。
如果您想為初始管理員用戶(?root
?)指定自定義的初始密碼,可以根據文檔指導進行配置。否則將默認生成隨機密碼。
接下來執行如下命令開始安裝:
export EXTERNAL_URL="https://ip地址" && rpm -ivh gitlab-jh-17.7.0-jh.0.el8.x86_64.rpm
其他配置詳情可以查看?Omnibus 安裝配置文檔。
3. 登錄極狐GitLab 實例
使用第二步?EXTERNAL_URL
?中配置的地址來訪問安裝成功的極狐GitLab 實例。用戶名默認為?root
?。如果在安裝過程中指定了初始密碼,則用初始密碼登錄,如果未指定密碼,則系統會隨機生成一個密碼并存儲在?/etc/gitlab/initial_root_password
?文件中, 查看隨機密碼并使用?root
?用戶名登錄。
注意:出于安全原因,24 小時后,/etc/gitlab/initial_root_password
?會被第一次?gitlab-ctl reconfigure
?自動刪除,因此若使用隨機密碼登錄,建議安裝成功初始登錄成功之后,立即修改初始密碼。
-------------------------------------------------分割線-------------------------------------------------
????????按照以上手冊進行安裝,我遇到了提示沒有postgresql的錯誤,于是我手動安裝了postgresql,然后重新執行上面的安裝步驟,就沒有報錯了,安裝完成。其他配置,可以參考官網:手冊
使用命令查看啟動狀態:
gitlab-ctl status
?正常情況下,會有如下這些進程:
[root@localhost lib]# gitlab-ctl status
run: alertmanager: (pid 350479) 598180s; run: log: (pid 350101) 598239s
run: gitaly: (pid 350493) 598179s; run: log: (pid 3848550) 613682s
run: gitlab-exporter: (pid 350516) 598178s; run: log: (pid 350000) 598259s
run: gitlab-kas: (pid 350554) 598166s; run: log: (pid 345443) 598445s
run: gitlab-workhorse: (pid 350573) 598166s; run: log: (pid 349916) 598273s
run: logrotate: (pid 839679) 559s; run: log: (pid 3848040) 613694s
run: nginx: (pid 350610) 598165s; run: log: (pid 349942) 598269s
run: node-exporter: (pid 350622) 598165s; run: log: (pid 349983) 598265s
run: postgres-exporter: (pid 350628) 598164s; run: log: (pid 350133) 598233s
run: postgresql: (pid 350640) 598162s; run: log: (pid 3849042) 613671s
run: prometheus: (pid 350642) 598162s; run: log: (pid 350066) 598245s
run: puma: (pid 350665) 598161s; run: log: (pid 349843) 598285s
run: redis: (pid 350670) 598161s; run: log: (pid 3848300) 613688s
run: redis-exporter: (pid 350678) 598161s; run: log: (pid 350032) 598254s
run: sidekiq: (pid 350688) 598158s; run: log: (pid 349862) 598278s
?第一次啟動時,我還遇到了postgresql起不來的問題。官網有介紹,如果使用內置的postgresql,無需做任何配置,所以我把剛才安裝的postgresql又給卸載了,但db還是起不來,這個時候需要去/var/log/gitlab目錄下查看對應的進程的日志。上面列出來的每個進程在該目錄下都有對應的日志目錄。打開postgresql的日志發現,有這么一段錯誤:
2025-04-09_13:03:46.54667 FATAL: could not map anonymous shared memory: Cannot allocate memory
2025-04-09_13:03:46.54670 HINT: This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently 4262232064 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.
2025-04-09_13:03:46.54671 LOG: database system is shut down
使用free -h命令,查看可用內存不多,上面的錯誤就表示請求的共享內存超出了系統可用資源,導致postgresql起不來。因為這臺機器本身的內存也不大,可以選擇修改?/etc/gitlab/gitlab.rb,降低參數:
postgresql['shared_buffers'] = "512MB"
?然后重新配置并重啟:
gitlab-ctl reconfigure
gitlab-ctl restart
?接下來,查看系統啟動情況:
gitlab-ctl status
一切正常,則可以訪問web界面了,默認端口是80,所以直接輸入ip即可進入登錄界面,如果沒有設置密碼,則初始密碼在/etc/gitlab/initial_root_password中。