如何在 CentOS 8/7 上安裝和配置 GitLab?


GitLab 是一個開源平臺,允許您管理原始碼儲存庫並與團隊成員協作。使用 GitLab,您可以託管您的 Git 儲存庫、管理程式碼審查、自動化 CI/CD 管道等等。在本文中,我們將指導您完成在 CentOS 8/7 上安裝和配置 GitLab 的過程。

在我們開始安裝之前,您需要滿足一些先決條件 -

先決條件

  • 具有至少 4GB RAM 和 2 個 CPU 核心的 CentOS 8/7 伺服器。

  • 指向伺服器 IP 地址的域名。

  • 域名的有效 SSL 證書。

  • 一個 root 或 sudo 使用者帳戶。

步驟 1:更新系統

第一步是將系統軟體包更新到最新版本。您可以透過執行以下命令來實現 -

sudo yum update

步驟 2:安裝和配置依賴項

接下來,我們需要安裝 GitLab 正確執行所需的一些依賴項。執行以下命令來安裝它們 -

sudo yum install -y curl policycoreutils-python openssh-server openssh-clients

安裝完成後,我們需要配置防火牆以允許 SSH 和 HTTP 流量。執行以下命令來執行此操作 -

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

步驟 3:安裝 GitLab

現在我們準備安裝 GitLab 了。我們將使用官方的 GitLab Omnibus 軟體包來安裝 GitLab。執行以下命令下載並安裝 GitLab -

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="https://your-domain-name.com" yum install -y gitlab-ee

將“your-domain-name.com”替換為您實際的域名。

安裝過程可能需要一些時間,具體取決於伺服器的速度和您的網際網路連線。安裝完成後,您將看到一條訊息,提示“GitLab 已安裝”。

步驟 4:配置 GitLab

現在 GitLab 已安裝,我們需要對其進行配置以使其正常工作。使用您喜歡的文字編輯器開啟 GitLab 配置檔案 -

sudo nano /etc/gitlab/gitlab.rb

在此檔案中,您可以配置各種設定,例如 SMTP 伺服器、備份位置等等。目前,我們只配置外部 URL 和 SSL 證書。

在檔案中找到以下行 -

# external_url 'http://gitlab.example.com'
# nginx['redirect_http_to_https'] = true
# nginx['redirect_http_to_https_port'] = 80

取消第一行的註釋並將“http://gitlab.example.com”替換為您實際的域名。取消第二行和第三行的註釋以啟用 HTTP 到 HTTPS 的重定向。您的配置應如下所示 -

external_url 'https://your-domain-name.com'
nginx['redirect_http_to_https'] = true
nginx['redirect_http_to_https_port'] = 80

儲存並關閉檔案。

步驟 5:安裝 SSL 證書

GitLab 需要有效的 SSL 證書才能正常工作。如果您沒有 SSL 證書,可以從 Let's Encrypt 獲取免費證書。

首先,透過執行以下命令安裝 Certbot 客戶端 -

sudo yum install -y certbot python3-certbot-nginx

接下來,執行以下命令獲取 SSL 證書 -

sudo certbot --nginx -d your-domain-name.com

按照說明獲取 SSL 證書。證書安裝完成後,透過執行以下命令重新載入 nginx 配置 -

sudo gitlab-ctl reconfigure

步驟 6:訪問 GitLab

現在 GitLab 已安裝並配置完成,您可以透過在 Web 瀏覽器中導航到您的域名來訪問它。如果一切配置正確,您應該會看到 GitLab 登入頁面。

GitLab 的預設登入憑據為 -

Username: root
Password: 5iveL!fe

我們建議您在登入 GitLab 後立即更改預設密碼。

步驟 7:配置 GitLab Runner

GitLab Runner 是一個應用程式,它響應 GitLab CI/CD 管道中的作業。預設情況下,GitLab Runner 未安裝在您的伺服器上。您可以按照官方文件進行安裝。

安裝 GitLab Runner 後,您需要將其註冊到 GitLab。在伺服器上開啟一個終端並執行以下命令 -

sudo gitlab-runner register

按照說明將 GitLab Runner 註冊到 GitLab。

以下是一些您可以採取的其他步驟來進一步配置和自定義您的 GitLab 安裝 -

配置 GitLab 備份

定期備份 GitLab 資料非常重要,以避免丟失任何寶貴資料。GitLab 提供了一個內建的備份實用程式,您可以將其配置為自動執行。為此,請使用您喜歡的文字編輯器開啟 GitLab 配置檔案 -

sudo nano /etc/gitlab/gitlab.rb

在檔案中找到以下行 -

# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

取消註釋該行並指定一個備份目錄。儲存並關閉檔案。

接下來,執行以下命令配置備份 -

sudo gitlab-ctl reconfigure

最後,執行以下命令建立 GitLab 資料的備份 -

sudo gitlab-rake gitlab:backup:create

配置 GitLab SMTP

GitLab 允許您配置 SMTP 設定,以便您可以從 GitLab 例項傳送電子郵件。為此,請使用您喜歡的文字編輯器開啟 GitLab 配置檔案 -

sudo nano /etc/gitlab/gitlab.rb

在檔案中找到以下行 -

# gitlab_rails['smtp_enable'] = true
# gitlab_rails['smtp_address'] = "smtp.gmail.com"
# gitlab_rails['smtp_port'] = 587
# gitlab_rails['smtp_user_name'] = "user@gmail.com"
# gitlab_rails['smtp_password'] = "password"
# gitlab_rails['smtp_domain'] = "smtp.gmail.com"
# gitlab_rails['smtp_authentication'] = "login"
# gitlab_rails['smtp_enable_starttls_auto'] = true
# gitlab_rails['smtp_tls'] = false

取消註釋這些行並將 SMTP 設定替換為您自己的設定。儲存並關閉檔案。

接下來,執行以下命令使用新的 SMTP 設定配置 GitLab -

sudo gitlab-ctl reconfigure

配置 GitLab LDAP

如果您使用 LDAP 管理使用者身份驗證,則可以將 GitLab 配置為也使用 LDAP 進行身份驗證。為此,請使用您喜歡的文字編輯器開啟 GitLab 配置檔案 -

sudo nano /etc/gitlab/gitlab.rb

在檔案中找到以下行 -

# gitlab_rails['ldap_enabled'] = false
# gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
#   main:
#      label: 'LDAP'
#      host: '_your_ldap_server'
#      port: 389
#      uid: 'sAMAccountName'
#      bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'
#      password: '_the_password_of_the_bind_user'
#      encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
#      verify_certificates: true
#      smartcard_auth: false
#      active_directory: true
#      allow_username_or_email_login: false
#      lowercase_usernames: false
#      block_auto_created_users: false
#      base: '_the_full_dn_of_the_search_base'
#      user_filter: ''
# EOS

取消註釋這些行並將 LDAP 設定替換為您自己的設定。儲存並關閉檔案。

接下來,執行以下命令使用新的 LDAP 設定配置 GitLab -

sudo gitlab-ctl reconfigure

安裝 GitLab 外掛

GitLab 允許您安裝外掛以擴充套件其功能。您可以從 GitLab 市場瀏覽和安裝 GitLab 外掛。要安裝外掛,請登入到您的 GitLab 例項並導航到“管理”區域。然後,單擊“外掛”,然後單擊“市場”。

您可以瀏覽可用的外掛,然後單擊“安裝”以安裝外掛。外掛安裝完成後,您可能需要透過單擊“設定”並按照外掛提供的說明進行配置。

自定義 GitLab 外觀

GitLab 允許您透過新增徽標和更改配色方案來自定義其外觀。要新增徽標,請登入到您的 GitLab 例項並導航到“管理”區域。然後,單擊“外觀”,然後單擊“自定義徽標”。

您可以上傳徽標並調整其大小和位置。要更改配色方案,請單擊“顏色”並選擇一個顏色主題。您還可以透過單擊“自定義 CSS”並新增您自己的 CSS 來自定義 CSS。

配置 GitLab Omnibus 設定

GitLab Omnibus 提供了一套豐富的配置選項,可用於自定義您的 GitLab 安裝。您可以配置與 GitLab、Nginx、PostgreSQL、Redis 等相關的各種設定。要檢視可用的配置選項列表,請執行以下命令 -

sudo gitlab-ctl show-config

這將顯示 GitLab 安裝的完整配置。

要自定義 GitLab Omnibus 設定,請使用您喜歡的文字編輯器開啟 GitLab 配置檔案 -

sudo nano /etc/gitlab/gitlab.rb

在這裡,您可以取消註釋並修改任何可用的設定以自定義您的 GitLab 安裝。

配置 GitLab 容器登錄檔

GitLab 提供了一個內建的容器登錄檔,可用於儲存和管理 Docker 映象。要啟用 GitLab 容器登錄檔,請使用您喜歡的文字編輯器開啟 GitLab 配置檔案 -

sudo nano /etc/gitlab/gitlab.rb

在檔案中找到以下行 -

# gitlab_rails['registry_enabled'] = false

取消註釋該行以啟用 GitLab 容器登錄檔。儲存並關閉檔案。

接下來,執行以下命令重新配置 GitLab -

sudo gitlab-ctl reconfigure

啟用 GitLab 容器登錄檔後,您可以使用它來儲存和管理 Docker 映象。您可以參考官方文件,瞭解有關如何使用 GitLab 容器登錄檔的更多資訊。

結論

恭喜!您已成功在 CentOS 8/7 上安裝和配置了 GitLab。GitLab 是一款強大的工具,可以幫助您管理原始碼儲存庫並簡化您的開發流程。使用 GitLab,您可以與團隊成員協作、自動化您的 CI/CD 管道等等。

我們希望本文能幫助您完成安裝和配置過程。如果您遇到任何問題或有任何疑問,請隨時聯絡 GitLab 社群尋求支援。

更新於: 2023年5月12日

3K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告