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