持续集成:docker下使用jenkins容器构建docker镜像

最近又从新部署了jenkins持续集成系统,看到以前整理的文章不够详细,因而从新整理了docker下使用jenkins的容器进行持续集成的相关文章,拿来分享下css

docker环境

  1. registry镜像:registry:2.6.1
  2. docker:17.05.0-ce
  3. registry宿主机IP:192.168.2.10
  4. jenkins的docker镜像:jenkins:2.46.3-alpine

docker-compose 文件:

version: '2'
services:
    jenkins:
        image: jenkins:2.46.3-alpine 
        hostname: jenkins
        ports:
            - "8080:8080"             - "50000:50000"         environment:
            - DOCKER_HOST=tcp://192.168.2.10:2375         volumes:
            - /home/soft/jenkins_home:/var/jenkins_home         logging:
            options:
                max-size: "1000k"

部分解释:

jenkins的docker镜像

这个镜像是基于官方的镜像(jenkins:2.46.3-alpine)修改添加部分定制化内容(增长时区设置为上海,增长docker-17.05.0-ce的执行命令到容器中)的镜像git

环境变量:DOCKER_HOST

这里的环境变量主要是给容器内的docker执行文件用的,用来标识docker运行的主机,即默认执行以下命令:web

docker -H 192.168.2.10:2375 ···

为何要将docker的可执行文件放到容器中?

主要是为了方便容器中的jenkins在使用的“CloudBees Docker Build and Publish plug”插件中执行docker命令docker

启动jenkins

这个就很少作介绍了,直接启动上面给出的文件便可ruby

配置jenkins

安装插件

  1. SCM Sync Configuration Plugin
  2. GitHub plugin
  3. GIT plugin
  4. GIT client plugin
  5. CloudBees Docker Build and Publish plug

配置maven

title

配置git

title
https://www.kernel.org/pub/software/scm/git/git-1.9.4.tar.gzmaven

使用jenkins测试打包

这里参考我以前写过的文章: jenkins构建Docker 镜像(基于Jenkins的Docker镜像及Jenkins插件)tcp


by 刘迎光@萤火虫工做室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(==防止爬虫==):http://blog.liuyingguang.cnsvg