服务端部署
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| docker pull gitlab/gitlab-ce:17.5.0-ce.0
docker run -d \ --name gitlab \ --hostname gitlab.test.cn \ -p 443:443 \ -p 88:80 \ -p 2222:22 \ --restart=always \ -v /data/gitlab/config:/etc/gitlab \ -v /data/gitlab/logs:/var/log/gitlab \ -v /data/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:17.5.0-ce.0
|
等待3到5分钟后即可打开登录界面,默认用户为root
,密码在容器内cat /etc/gitlab/initial_root_password
查看。
增加nginx反向代理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| upstream gitlab { server 192.168.0.16:88;
}
server { listen 80; server_name gitlab.test.cn;
location / { client_max_body_size 200m; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass http://gitlab; proxy_redirect off; } }
|
客户端配置
由于容器化部署为了不与宿主机的端口产生冲突,修改了gitlab的http和ssh的默认访问端口,
HTTP:88
SSH :2222
这样在客户端直接拉取的时候会无法解析gitlab的正确访问地址,因此需要在客户端需要做下特定配置。
SSH的方式拉取代码增加如下配置:
1 2 3 4 5 6 7 8 9 10 11 12 13
| [root@master ] 192.168.0.16 gitlab.test.cn
[root@master ] Host gitlab.test.cn HostName gitlab.test.cn User git Port 2222 IdentityFile ~/.ssh/id_rsa
|
HTTP的方式拉取代码增加如下配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| [root@master ] http://root:root1234@192.168.0.16/88
http://{gitlab用户名}:{gitlab用户密码}@{gitlab IP地址}/{gitlab 访问端口}
git config --global credential.helper store
[credential] helper = store
|