思路分析

  1. 代码提交 ,开发人员持续的频繁的提交他们的代码到GitLab上。
  2. 拉取代码,从GitLab服务器上拉取代码到Jenkins服务器上 。
  3. 编译代码,在Jenkins服务器上进行代码编译。
  4. 打包,在Jenkins服务器上将代码进行打包 。
  5. 分发,将打包后的应用分发到对应的测试环境中。
  6. 启动服务,将应用程序部署后进行启动服务 。
  7. 自动测试,通过自动化测试脚本进行测试自动测试
  8. 邮件发送,将测试结果转发给相关人员 。

    1、通过docker-compoes来编排容器

  9. 创建 docker_jenkins_compose 文件夹

  10. docker_jenkins_compose 目录下创建 docker-compose.yml 文件 ```yaml

    docker-compose.yml

version: ‘3’ services: # 集合 docker_jenkins: user: root # 为了避免一些权限问题 在这我使用了root restart: always # 重启方式 image: jenkins/jenkins:lts # 指定服务所使用的镜像 在这里我选择了 LTS (长期支持) container_name: jenkins # 容器名称 ports: # 对外暴露的端口定义

  1. - 8082:8080
  2. - 50000:50000
  3. volumes: # 卷挂载路径
  4. - /var/vol_dockers/jenkins_home/:/var/jenkins_home # 这是我们一开始创建的目录挂载到容器内的jenkins_home目录
  5. - /var/run/docker.sock:/var/run/docker.sock
  6. - /usr/bin/docker:/usr/bin/docker # 这是为了我们可以在容器内使用docker命令
  7. - /usr/local/bin/docker-compose:/usr/local/bin/docker-compose

docker_nginx: restart: always image: nginx container_name: nginx ports:

  1. - 8090:80
  2. - 8433:433
  3. volumes:
  4. - /va/vol_dockers/nginx/conf.d/:/etc/nginx/conf.d
  5. - /var/vol_dockers/nginx/html:/usr/share/nginx/html
  1. 3. 创建 启停脚本文件: restart , start, stop, 并修改文件权限
  2. ```yaml
  3. # restart
  4. docker-compose restart
  1. # start
  2. docker-compose up -d
  1. # stop
  2. docker-compose stop
  1. chmod 777 restart start stop // 可读可写可执行

2、启动容器

./start

3、查看容器日志

  1. docker logs -f jenkins // 实时日志

4、创建jenkins用户,配置Jenkins