服务端部署

# 提前拉取镜像
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反向代理
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的方式拉取代码增加如下配置:
# 增加host配置
[root@master ]# cat /etc/hosts
192.168.0.16  gitlab.test.cn

# 增加git SSH配置
[root@master ]# cat ~/.ssh/config 
Host gitlab.test.cn
    HostName gitlab.test.cn
    User     git
    Port     2222
    IdentityFile ~/.ssh/id_rsa

# 配置好以后即可无需验证拉取代码
HTTP的方式拉取代码增加如下配置
[root@master ]# vim ~/.git-credentials
http://root:root1234@192.168.0.16/88

# 填入的文本格式:
http://{gitlab用户名}{gitlab用户密码}@{gitlab IP地址}/{gitlab 访问端口}

# 执行以下命令
git config --global credential.helper store

# cat ~/.gitconfig 有以下内容输出即完成配置
[credential]
helper = store

# 再下次拉取代码以后只需输入一次gitlab的用户和密码即可,以后在拉取代码都不用在输入验证信息。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部