Ubuntu20.04安裝配置GitLab的方法步驟
介紹
GitLab CE或Community Edition是一個開源應用程序,主要用于托管Git存儲庫,以及其他與開發(fā)相關的功能,如問題跟蹤。它旨在使用您自己的基礎架構進行托管,并為您的開發(fā)團隊提供部署內部存儲庫的靈活性,與用戶交互的公共方式,或者為貢獻者提供托管自己項目的方法。
GitLab項目使用簡單的安裝機制在您自己的硬件上設置GitLab實例變得相對簡單。在本指南中,我們將介紹如何在阿里云Ubuntu 20.04服務器上安裝和配置GitLab。
前提條件
部署GitLab的實例要求至少使用2個vCPU和4GiB的內存,本示例中使用的相關資源版本如下。
- 實例規(guī)格:ECS共享型 s6 2核4G1M帶寬
- 操作系統:Ubuntu 20.04
已添加如下表所示的安全組規(guī)則。
方向 | 協議/應用 | 端口/范圍 | 源地址 |
---|---|---|---|
入方向 | HTTP(80) | 80 | 0.0.0.0/0 |
安裝
第1步 - 安裝依賴項
在我們自己安裝GitLab之前,安裝一些在安裝過程中持續(xù)使用的軟件非常重要。幸運的是,可以從Ubuntu的默認包存儲庫輕松安裝所有必需的軟件。
由于這是我們第一次apt
在此會話期間使用,我們可以刷新本地包索引,然后鍵入以下內容來安裝依賴項:
sudo apt update sudo apt install ca-certificates curl openssh-server postfix
您可能已經安裝了一些此軟件。對于postfix
的安裝,請在出現提示時選擇“ Internet站點”。在下一個屏幕上,輸入服務器的域名以配置系統發(fā)送郵件的方式。
第2步 - 安裝GitLab
cd /tmp curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
您可以隨意檢查下載的腳本,以確保您對所需的操作感到滿意。您還可以在此處找到該腳本的托管版本:
less /tmp/script.deb.sh
一旦您對腳本的安全性感到滿意,請運行安裝程序:
sudo bash /tmp/script.deb.sh
該腳本將設置您的服務器以使用GitLab維護的存儲庫。這使您可以使用與其他系統軟件包相同的軟件包管理工具來管理GitLab。完成后,您可以使用以下apt
命令安裝實際的GitLab應用程序:
sudo apt install gitlab-ce
這將在您的系統上安裝必要的組件。
注意事項
在安裝GitLab應用程序中如果報以下錯誤,我們可以配置國內加速鏡像。
報錯信息:
# apt-get install gitlab-ce Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package gitlab-ce
修改安裝腳本
sudo vim /etc/apt/sources.list.d/gitlab_gitlab-ce.list
OLD
deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ focal main deb-src https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ focal main
NEW
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu focal main deb-src https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu focal main
再次執(zhí)行
sudo apt update sudo apt install gitlab-ce
參考鏈接:https://gitlab.com/gitlab-org/gitlab-foss/-/issues/2370
第3步 - 調整防火墻規(guī)則
在配置GitLab之前,您需要確保防火墻規(guī)則足夠寬松以允許Web流量。如果您遵循先決條件中鏈接的指南,則將啟用ufw
防火墻。
鍵入以下內容查看活動防火墻的當前狀態(tài):
sudo ufw status
Status: active To Action From -- ------ ---- 80 ALLOW Anywhere 22 ALLOW Anywhere 80 (v6) ALLOW Anywhere (v6) 22 (v6) ALLOW Anywhere (v6)
如您所見,當前規(guī)則允許SSH流量通過,但對其他服務的訪問受到限制。由于GitLab是一個Web應用程序,我們應該允許HTTP訪問。因為我們將利用GitLab從Let's Encrypt請求和啟用免費TLS / SSL證書的功能,所以我們也允許HTTPS訪問。
/etc/services
文件中提供了HTTP和HTTPS的端口映射協議,因此我們可以按名稱允許該流量。如果您尚未啟用OpenSSH流量,則現在也應該允許該流量:
sudo ufw allow http sudo ufw allow https sudo ufw allow OpenSSH
再次檢查ufw status
Status: active To Action From -- ------ ---- 80 ALLOW Anywhere 22 ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere OpenSSH ALLOW Anywhere 80 (v6) ALLOW Anywhere (v6) 22 (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6) OpenSSH (v6) ALLOW Anywhere (v6)
第4步 - 編輯GitLab配置文件
在使用該應用程序之前,需要更新配置文件并運行重新配置命令。首先,打開Gitlab的配置文件:
sudo vim /etc/gitlab/gitlab.rb
頂部附近是external_url
配置線。更新它以匹配您的域。更改http
為https
以便GitLab會自動將用戶重定向到受Let's加密證書保護的站點:
## GitLab URL ##! URL on which GitLab will be reachable. ##! For more details on configuring external_url see: ##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab ##! ##! Note: During installation/upgrades, the value of the environment variable ##! EXTERNAL_URL will be used to populate/replace this value. ##! On AWS EC2 instances, we also attempt to fetch the public hostname/IP ##! address from AWS. For more details, see: ##! https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html external_url 'https://example.com' // 此處修改為您的域名或ip地址
接下來,查找letsencrypt['contact_emails']
設置。此設置定義了一個電子郵件地址列表,如果您的域存在問題,Let的加密項目可以用來與您聯系。取消注釋并填寫此內容是一個好主意,以便您知道任何問題:
letsencrypt['contact_emails'] = ['sammy@example.com'] // 此處修改為您的郵箱地址
保存并關閉文件。運行以下命令重新配置Gitlab:
sudo gitlab-ctl reconfigure
這將使用它可以找到的有關您的服務器的信息初始化GitLab。這是一個完全自動化的過程,因此您不必回答任何提示。該過程還將為您的域配置Let's Encrypt證書。
sudo gitlab-ctl restart
重啟 GitLab。
附上GitLab常用命令:
常用命令 | 說明 |
---|---|
sudo gitlab-ctl reconfigure | 重新加載配置,每次修改/etc/gitlab/gitlab.rb文件之后執(zhí)行 |
sudo gitlab-ctl status | 查看 GitLab 狀態(tài) |
sudo gitlab-ctl start | 啟動 GitLab |
sudo gitlab-ctl stop | 停止 GitLab |
sudo gitlab-ctl restart | 重啟 GitLab |
sudo gitlab-ctl tail | 查看所有日志 |
sudo gitlab-ctl tail nginx/gitlab_acces.log | 查看 nginx 訪問日志 |
sudo gitlab-ctl tail postgresql | 查看 postgresql 日志 |
第5步 - 通過Web界面執(zhí)行初始配置
在允許GitLab運行和訪問的情況下,我們可以通過Web界面執(zhí)行應用程序的一些初始配置。
第5步 - 首次登錄
在Web瀏覽器中訪問GitLab服務器的域名:
https://example.com // 您external_url配置的地址
在您第一次訪問時,您應該看到為管理帳戶設置密碼的初始提示,修改下root管理員密碼之后就可以正常使用了。
第6步 - 結論
您現在應該在自己的服務器上托管一個正常工作的GitLab實例。您可以開始導入或創(chuàng)建新項目,并為您的團隊配置適當的訪問級別。GitLab會定期添加功能并對其平臺進行更新,因此請務必查看項目主頁以及時了解最新任何改進或重要通知。
GitLab開機自動啟動
設置GitLab開機自啟動命令為
sudo systemctl enable gitlab-runsvdir.service
禁止GitLab開機自啟動命令為
sudo systemctl disable gitlab-runsvdir.service
GitLab郵箱配置
以下用QQ郵箱為例
第1步 - 開啟qq郵箱的POP3/SMTP服務并保存好授權碼
這一步在qq郵箱的設置 -> 賬戶中
點擊開啟按照提示步驟操作會獲得相應的授權碼(注意:記住授權碼一會要用)
第2步 - 修改gitlab的配置文件
sudo vim /etc/gitlab/gitlab.rb
#配置郵箱來源, 與展示的名稱 gitlab_rails['gitlab_email_enabled'] = true gitlab_rails['gitlab_email_from'] = '您的qq郵箱地址' gitlab_rails['gitlab_email_display_name'] = '您的郵箱顯示名稱' #smtp配置 gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "您的qq郵箱地址" gitlab_rails['smtp_password'] = "您的授權碼" gitlab_rails['smtp_domain'] = "smtp.qq.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true
第3步 - 重新加載配置
sudo gitlab-ctl reconfigure
第4步 - 發(fā)送測試郵件
sudo gitlab-rails console #進入控制臺,然后發(fā)送郵件 Notify.test_email('測試郵箱地址', '郵件標題', '郵件正文').deliver_now
進入郵箱查看是否收到郵件。
GitLab修改端口
GitLab默認端口是80,如果我們想更改成9091端口,則需要修改GitLab配置文件。
sudo vim /etc/gitlab/gitlab.rb
修改如下配置
nginx['listen_port'] = 9091 // GitLab端口,默認80端口 unicorn['port'] = 9092 // 可不修改,默認監(jiān)聽8080端口
重新加載配置
sudo gitlab-ctl reconfigure
即可修改成功。
GitLab Pages設置
修改gitlab的配置文件
sudo vim /etc/gitlab/gitlab.rb
修改如下配置
gitlab_pages[‘enable'] = true; 開啟 Pages 服務 pages_external_url ‘您的GitLab Pages域名地址'; 替換成你自己的域名 gitlab_pages[‘inplace_chroot'] = true; 以Docker container 方式運行的 Gitlab 必須開啟此項 pages_nginx[‘enable'] = true; 開啟 Pages 服務的 vhost,該項開啟后將會在 /var/opt/gitlab/nginx/conf 目錄下生成獨立的名為 gitlab-pages.conf Nginx 配置文件。 gitlab_pages['access_control'] = true 開啟 Pages 訪問控制。
重新加載配置
sudo gitlab-ctl reconfigure
GitLab Runner配置
第1步 - 安裝
參考官網安裝流程:https://docs.gitlab.com/runner/install/linux-repository.html
第2步 - 注冊
參考官網注冊流程:https://docs.gitlab.com/runner/register/
參考鏈接
如何在Ubuntu 18.04上安裝和配置GitLab - 云+社區(qū) - 騰訊云
Ubuntu 簡單安裝和配置 GitLab - 田園里的蟋蟀 - 博客園
在Ubuntu18.04下安裝gitlab國內鏡像加速_Linux教程_云網牛站
Ubuntu 18.04更換國內高速源_Linux教程_云網牛站
gitlab修改默認端口 - 云+社區(qū) - 騰訊云
Ununtu16.04搭建GitLab服務器教程 - 知乎
gitlab-runner | 鏡像站使用幫助 | 清華大學開源軟件鏡像站 | Tsinghua Open Source Mirror
開啟 Gitlab Pages 服務 - George
Download and install GitLab | GitLab
到此這篇關于Ubuntu20.04安裝配置GitLab的方法步驟的文章就介紹到這了,更多相關Ubuntu20.04安裝配置GitLab內容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯系alex-e#qq.com處理。