原文地址:基于ubuntu搭建gitlab – 無敵牛
歡迎參觀我的網站:無敵牛 – 技術/著作/典籍/分享等
之前介紹了一個使用 git + openssh-server 搭建一個極簡 git 庫的方法,感興趣可以查看往期文章:手搓一個極簡遠端git庫 – 無敵牛 。git實現了代碼管理的核心,gitlab 更有豐富的權限管理、自動測試、系統集成等豐富的功能,而且可視化操作也更友好,更加方便代碼管理。本片文章介紹一下 gitlab 服務的搭建方法。
1、添加GitLab軟件倉庫源
在系統源增加 gitlab 的軟件倉庫源,直接執行以下代碼。(前提:需要有 curl 工具,沒有則需要安裝: apt install curl)
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
安裝成功會添加 /etc/apt/sources.list.d/gitlab_gitlab-ce.list 和 /usr/share/keyrings/gitlab_gitlab-ce-archive-keyring.gpg 文件
2、安裝gitlab及相關軟件
sudo apt install -y gitlab-ce ca-certificates postfix
3、修改相關配置
打開 /etc/gitlab/gitlab.rb 文件,修改以下參數
external_url 'https://YourIpOrDomain'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
nginx['enable'] = true
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/cert/server.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/cert/server.key"
nginx['ssl_ciphers'] = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"
nginx['ssl_prefer_server_ciphers'] = "off"
nginx['listen_port'] = 443
external_url 設置成對系統的 IP 地址 或者 指定的域名(只要域名指向gitlab主機即可)
nginx打開了 https 訪問,所以需要頒布證書。參考往期文章:自簽名證書 – 無敵牛 ,自簽名證書 和 Let’s Encrypt 頒發證書都有介紹。
4、部署生效并啟動服務
部署生效:gitlab-ctl reconfigure
啟動系統:gitlab-ctl start
打開瀏覽器訪問,首次登錄使用root賬號登錄即可,root 初始密碼會保存在 /etc/gitlab/initial_root_password 文件。也可以注冊新賬號,不過新賬號需要root通過才可以使用。
另外、docker方式安裝
1、找一目錄,在此創建 gitlab 的工作目錄,并進入剛創建的 gitlab 目錄
mkdir -p gitlab/{config,logs,data}
cd gitlab
2、在此目錄創建 compose.yml 文件,內容如下。xx.xx.xx.xx 需要改成自己的 IP 地址或者 域名
version: '3.8'
services:gitlab:image: gitlab/gitlab-ce:latestcontainer_name: gitlabrestart: alwayshostname: 'xx.xx.xx.xx' # 改為你的域名或IPenvironment:GITLAB_OMNIBUS_CONFIG: |external_url 'https://xx.xx.xx.xx'gitlab_rails['gitlab_shell_ssh_port'] = 2222ports:- "880:80"- "443:443"- "2222:22"volumes:- ./config:/etc/gitlab- ./logs:/var/log/gitlab- ./data:/var/opt/gitlabshm_size: '256m'
3、啟動: docker-compose up -d
。root 的初始密碼就在 config/initial_root_password