Docker+jenkins+gitlab实现持续集成

1.安装环境

服务器ip 虚拟机版本
192.168.5.132 centos7.6
192.168.5.152 centos7.6

2. 安装docker

复制代码
安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息,要确保centos7能上外网
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新并安装docker

yum makecache fast

yum -y install docker-ce

启动docker

service docker start

3. 安装docker-compose

复制代码
curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

4. 安装jenkins

复制代码
编写yaml文件

vim jenkins.yaml

version: '3.1'
services:
  jenkins:
    image: jenkins/jenkins:2.361.3
    volumes:
      - /data/jenkins/:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker
      - /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7
    ports:
      - "8080:8080"
    expose:
      - "8080"
      - "50000"
    privileged: true
    user: root
    restart: always
    container_name: jenkins
    environment:
      JAVA_OPTS: '-Djava.util.logging.config.file=/var/jenkins_home/log.properties'

启动容器

docker-compose -f jenkins.yaml up -d

jenkins访问地址

http://192.168.5.137:8080/

5. 安装gitlab

复制代码
编写yaml文件

vim gitlab.yaml

version: '3.1'
services:
  gitlab:
    image: 'gitlab/gitlab-ee:latest'
    restart: always
    hostname: 'gitlab'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.5.152:8929'
        gitlab_rails['gitlab_shell_ssh_port'] = 2224
    ports:
      - '8929:8929'
      - '2224:22'
    volumes:
      - './config:/etc/gitlab'
      - './logs:/var/log/gitlab'
      - './data:/var/opt/gitlab'

启动容器

docker-compose -f gitlab.yaml up -d

gitlab访问地址

http://192.168.5.152:8929/


查看gitlab初始密码

docker exec -it gitlab_gitlab_1 grep 'Password:' /etc/gitlab/initial_root_password

6. 配置两台服务器免密

复制代码
jenkins服务器操作

ssh-keygen -t rsa

ssh-copy-id 192.168.5.152


gitlab服务器操作

ssh-keygen -t rsa

ssh-copy-id 192.168.5.137

7. 配置jenkins

安装必要插件
GitLab、Generic Webhook Trigger、Git Parameter、Publish Over SSH,安装完插件重启系统
配置密钥
复制代码
cat /root/.ssh/id_rsa
将里面的密钥填的此处


新建任务






7. 配置gitlab







9.测试构建

修改仓库文件内容,触发钩子
可以看到文件更新之后,jenkins通过钩子自动更新到对应服务器
相关推荐
晚风吹长发5 小时前
Docker基础——Docker Network(网络详解)
linux·运维·网络·ubuntu·docker·容器
ji_shuke9 小时前
从零深入:基于 Playwright + Pytest + Allure 的企业级 Web 端到端自动化测试框架实战
前端·自动化测试·docker·jenkins·pytest·allure·playwright
霁月的小屋12 小时前
Docker 工程化实践(六):Docker Compose 管理多容器应用
运维·docker·容器
江湖有缘13 小时前
Docker实战 | 使用Docker部署EasyNode服务器面板工具
服务器·docker·容器
心机之蛙qee13 小时前
Docker Compose 多容器编排
java·docker·容器
AI大佬的小弟13 小时前
私有化 Dify 应用开发(1):Dify 入门|Docker 一键部署全流程
docker·大模型落地·ai 应用开发·dify 教程·私有化 ai 部署·docker 实战·开源 ai 平台
上海安当技术14 小时前
老系统零改造接入:旁路代理统一认证实战
java·servlet·架构·kubernetes·jenkins
ShiXZ21314 小时前
Docker 安装 Elasticsearch 7.17.6 完整教程
elasticsearch·docker·容器
Mr. zhihao15 小时前
Jenkins 从节点连不上主节点?一次网络排查全记录 + 机器间通信“拦截层“全景讲解
网络·servlet·jenkins
念何架构之路15 小时前
moby-BuildKit(builder-next)
学习·docker·容器