当前位置: 首页 > article >正文

记录下docker部署gitlab-ce-17.5版本及客户端git拉取方式配置

服务端部署

# 提前拉取镜像
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的用户和密码即可,以后在拉取代码都不用在输入验证信息。

http://www.kler.cn/news/367103.html

相关文章:

  • 基于Gin和GORM的在线判题系统后端
  • 【数学二】多元函数积分学-重积分-二重积分定义、性质、计算
  • 从文化到实践:DevOps的基本概念与核心实践详解
  • Spring Boot技术在厨艺交流平台中的创新应用
  • Jetpack架构组件_LiveData组件
  • ubuntu GLEW could not be initialized : Unknown error
  • AI视频!OpenAI发布最新模型sCM,开启图像、音频、视频、三维模型AI新时代
  • 【C++进阶】深入STL之list:模拟实现深入理解List与迭代器
  • Vscode + EIDE +CortexDebug 调试Stm32(记录)
  • ATom:2016-2018 年沿飞行轨迹的 CAM-chem/CESM2 模型输出
  • 编写一个简单的Iinput_dev框架
  • 权益资本成本-CAPM模型、MPEG模型、OJ模型、PEG模型、原始数据及其代码(2000-2021年)
  • 【ESP32S3 Sense接入阿里云大模型图像理解】
  • GDB 从裸奔到穿戴整齐
  • 2024 BuildCTF 公开赛|Crypto
  • SpringBoot中EasyExcel使用实践总结
  • 【Redis 设计与实现】String 的数据结构如何实现的?
  • RN安卓应用打包指南
  • 帝国CMS 内容页调用上一篇下一篇的方法(精华汇总)
  • 零一万物新模型Yi-Lightning:超越GPT-4o
  • C#实现简单的文件夹对比程序(续)
  • 《使用Gin框架构建分布式应用》阅读笔记:p208-p211
  • 函数连续性导论
  • 姿态传感器(学习笔记上)
  • 【Django】继承框架中用户模型基类AbstractUser扩展系统用户表字段
  • AMD平台,5600X+6650XT,虚拟机安装macOS 15 Sequoia 15.0.1 (2024.10)