gitlab 服務搭建小記

J.晒太阳的猫發表於2024-07-27

給團隊搭建一個內網 gitlab 服務

🍕 準備工作 docker

準備好 docker 環境,如果 docker 不能用,可以參考

一個影片解決Docker安裝, Pull, 找映象等難題 Docker停服怎麼辦?Docker映象無法拉取_嗶哩嗶哩_bilibili

🍕 docker 安裝 gitlab

// 拉取映象
docker image pull gitlab/gitlab-ce:latest

// 啟動容器
docker run --detach \
    --publish 50443:443 --publish 50080:80 --publish 50022:22 \
    --name gitlab \
    --restart always \
    --volume d:/srv/gitlab/config:/etc/gitlab \
    --volume d:/srv/gitlab/logs:/var/log/gitlab \
    --volume d:/srv/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

幾點說明:

HTTPS / HTTP / SSH 埠對映都沒有使用預設埠,因為我這裡使用的這臺伺服器有很多其它服務在跑,為了避免衝突,無奈只能這樣了。
在後面使用 ssh 拉取程式碼時,會需要一些額外的處理。
如果你的 gitlab 伺服器是獨佔的,建議使用預設的埠對映。

--volume 的目錄掛載,根據實際情況調整。

🍕 配置 gitlab

編輯 /etc/gitlab/gitlab.rb 檔案,修改 external_url 為自定義域名

設定完域名之後,需要配置域名的 DNS 解析,如果是本地測試,可以直接修改 host 檔案來處理。

🍕 拉取倉庫

SSH 方式

先配置本地 SSH key,並新增到 gitlab 上,這個就是普通的操作,可以參考:

git 多賬號配置 - J.曬太陽的貓 - 部落格園

需要注意的是,如果 SSH 埠不是預設的 22,則需要在 config 檔案中指定。

~/.ssh/config

# my gitlab
Host gitlab.my.com
Port 50022
HostName gitlab.my.com
User gitlab
IdentityFile ~/.ssh/mygitlab

SSH 連線測試: ssh -p 50022 -T git@gitlab.my.com

配置好之後,就可以使用 SSH 的方式拉取或推送程式碼了

如果不配置 config 檔案,需要使用這樣的方式指定埠:

git clone git@gitlab.my.com:app/demo2.git
--->
git clone ssh://git@gitlab.my.com:50022/app/demo2.git

HTTP

在程式碼倉庫中,看到的 http url 類似這樣:http://gitlab.my.com/app/demo.git

如果修改了埠,則是無法直接使用的,需要修改成這樣才能用:http://gitlab.my.com:50080/app/demo.git

HTTPS

暫時還沒有處理 HTTPS 訪問,先貼兩篇參考文章

GitLab 配置 SSL/https | GitLab/Kubernetes 知識庫
gitlab-配置實現https - 奔跑在study的路上 - 部落格園

🍕 gitlab 登入

完成 gitlab 配置之後,需要重啟 docker

docker restart gitlab

gitlab 的啟動比較慢,需要多等一會。
使用 http://gitlab.my.com:50080 (自定義域名:埠) 開啟 gitlab

管理員賬號是 root,密碼可以透過如下方式獲取,獲取之後記得儲存好。

docker exec -it 容器名字或容器ID grep 'Password:' /etc/gitlab/initial_root_password

🍕 gitlab 內部配置

根據需要,可以設定允許上傳的最大檔案(僅限管理員許可權的使用者)

🍕 參考文章

CentOS7 下gitlab修改域名host | The One Like You
處理git clone命令的非標準SSH埠連線 | 我的站點
docker安裝gitlab的初始賬號密碼 - lucky_tomato - 部落格園
新增或修改ssh服務的埠 - 小得盈滿 - 部落格園

https://www.cnblogs.com/jasongrass/p/18326815

相關文章