如何在 Ubuntu 上安裝 GitLab
GitLab 是一個開源平臺,提供了強大且功能豐富的解決方案,用于管理倉庫、問題、CI/CD 管道等。如果你是 Ubuntu 22.04 或 20.04 用戶,并且想要設置自己的 GitLab 實例來簡化你的 DevOps 工作流程,那么你來對地方了。
本分步指南將引導你完成 Ubuntu 22.04 或 20.04 上 GitLab 的安裝過程。GItlab 提供企業版(Gitlab EE)和社區版(Gitlab CE)。在這篇文章中,我們將介紹社區版。
先決條件:
- 運行 Ubuntu 22.04 或 20.04 且具有 SSH 訪問權限的虛擬或專用服務器。
- 靜態主機名(
gitlab.linuxtechi.net
) - 具有管理員權限的 Sudo 用戶
- 2GB 內存或更多
- 2 個或更多 vCPU
- 互聯網連接
1、更新系統包
讓我們首先更新軟件包列表并將任何現有軟件包升級到最新版本。
$ sudo apt update
$ sudo apt upgrade -y
應用更新后重新啟動系統。
$ sudo reboot
2、安裝依賴項
GitLab 需要一些依賴項才能正常運行。使用以下命令安裝它們:
$ sudo apt install -y curl openssh-server ca-certificates postfix
在 postfix 安裝過程中,會出現一個配置窗口。選擇 “Internet Site”并輸入服務器的主機名作為郵件服務器名稱。這將允許 GitLab 發送電子郵件通知。
選擇 “Internet Site”,然后選擇 “OK”。
檢查系統的主機名并選擇 “OK”。
3、添加 GitLab Apt 存儲庫
現在,我們將添加 GitLab 倉庫,運行以下 curl
命令。它將自動檢測你的 Ubuntu 版本并相應地設置倉庫。
$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
4、安裝 Gitlab
運行以下命令在你的 ubuntu 系統上自動安裝和配置 gitlab-ce,將服務器的主機名替換為你的設置,
$ sudo EXTERNAL_URL="http://gitlab.linuxtechi.net" apt install gitlab-ce
上述命令成功執行后,我們將得到如下輸出。
上面的輸出確認 GitLab 已成功安裝。gitlab web 界面的用戶名是 root,密碼存儲在 /etc/gitlab/initial_root_password
。
注意:如果你的 ubuntu 系統上啟用了操作系統防火墻,那請允許 80 和 443 端口。
$ sudo ufw allow http
$ sudo ufw allow https
5、訪問 GitLab Web 界面
安裝并配置 GitLab 后,打開 Web 瀏覽器并輸入服務器的 IP 地址或主機名。
http://<Server-IP-Address-or-Hostname>
- 用戶名:
root
- 密碼:從
/etc/gitlab/initial_root_password
獲取密碼
點擊“登錄Sign in”。
很好,上面確認我們已經成功登錄 Gitlab Web 界面。
目前我們的 GitLab 服務器運行在 http(80)協議上,如果你想為你的 GitLab 啟用 https,請參考以下步驟。
6、為 GitLab Web 界面設置 HTTPS
為提高安全性,可使用自簽名證書或 Let's Encrypt 為 GitLab 實例配置 HTTPS。Let's Encrypt 只適用于互聯網上有 A 記錄的公有域。但在本例中,我們使用的是私有域,因此將使用自簽名證書來確保 GitLab 的安全。
現在,讓我們創建以下文件夾并使用 openssl
命令生成自簽名證書:
$ sudo mkdir -p /etc/gitlab/ssl
$ sudo chmod 755 /etc/gitlab/ssl
使用以下 openssl
命令生成私鑰:
$ sudo openssl genrsa -des3 -out /etc/gitlab/ssl/gitlab.linuxtechi.net.key 2048
輸入密碼并記住它。
使用以下命令創建 CSR:
$ sudo openssl req -new -key /etc/gitlab/ssl/gitlab.linuxtechi.net.key -out /etc/gitlab/ssl/gitlab.linuxtechi.net.csr
從密鑰中刪除密碼串,依次執行以下命令:
$ sudo cp -v /etc/gitlab/ssl/gitlab.linuxtechi.net.{key,original}
$ sudo openssl rsa -in /etc/gitlab/ssl/gitlab.linuxtechi.net.original -out /etc/gitlab/ssl/gitlab.linuxtechi.net.key
$ sudo rm -v /etc/gitlab/ssl/gitlab.linuxtechi.net.original
創建證書文件:
$ sudo openssl x509 -req -days 1460 -in /etc/gitlab/ssl/gitlab.linuxtechi.net.csr -signkey /etc/gitlab/ssl/gitlab.linuxtechi.net.key -out /etc/gitlab/ssl/gitlab.linuxtechi.net.crt
使用下面的 rm
命令刪除 CSR 文件:
$ sudo rm -v /etc/gitlab/ssl/gitlab.linuxtechi.net.csr
設置密鑰和證書文件的權限:
$ sudo chmod 600 /etc/gitlab/ssl/gitlab.linuxtechi.net.key
$ sudo chmod 600 /etc/gitlab/ssl/gitlab.linuxtechi.net.crt
Gitlab 服務器的所有重要配置均由文件 /etc/gitlab/gitlab.rb
控制,因此編輯此文件,搜索 external_url
并添加 https://gitlab.linuxtechi.net
。
$ sudo vi /etc/gitlab/gitlab.rb
----------------------------------------------------------
external_url 'https://gitlab.linuxtechi.net'
----------------------------------------------------------
保存并退出文件,使用下面的命令重新配置 gitlab,以便其 Web 界面可以使用 HTTPS。
$ sudo gitlab-ctl reconfigure
成功執行上述命令后,你的 GitLab 界面應該可以通過 HTTPS 協議訪問,在我的例子中,URL 為:https://gitlab.linuxtechi.net/
當你第一次訪問它時,它會說你的連接不安全,點擊“接受風險并繼續”。
結論
恭喜! 你已在 Ubuntu 22.04 或 20.04 系統上成功安裝 GitLab。隨著 GitLab 的啟動和運行,你現在可以創建倉庫,與你的團隊協作,并通過 GitLab 令人印象深刻的功能增強你的開發工作流程。享受無縫版本控制、持續集成等,一切盡在你的掌控之中!