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通过钩子自动更新到对应服务器
相关推荐
m0_741768855 小时前
使用docker的小例子
运维·docker·容器
寻爱的希斯克利夫8 小时前
tomcat 配置jenkins_home 目录
servlet·tomcat·jenkins
最新小梦8 小时前
Docker日志管理
运维·docker·容器
ZHOU西口9 小时前
微服务实战系列之玩转Docker(十五)
nginx·docker·微服务·云原生·swarm·docker swarm·dockerui
lgbisha10 小时前
828华为云征文|华为云Flexus X实例docker部署最新Appsmith社区版,搭建自己的低代码平台
低代码·docker·华为云
记得开心一点嘛10 小时前
在Linux系统上使用Docker部署javaweb项目
linux·运维·docker
Persistence is gold12 小时前
cassandra指定配置文件的docker启动方法
运维·docker·容器
C语言扫地僧13 小时前
Docker 镜像制作(Dockerfile)
linux·服务器·docker·容器
向往风的男子14 小时前
【devops】devops-gitlab之部署与日常使用
运维·gitlab·devops
soaring012114 小时前
Gitlab实现多项目触发式自动CICD
pipeline·gitlab·triggers·access tokens