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

Posted LightingLYG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了持续集成:docker下使用jenkins容器构建docker镜像相关的知识,希望对你有一定的参考价值。

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

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的执行命令到容器中)的镜像

环境变量:DOCKER_HOST

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

docker -H 192.168.2.10:2375 ···

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

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

启动jenkins

这个就不多做介绍了,直接启动上面给出的文件即可

配置jenkins

安装插件

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

配置maven

配置git


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

使用jenkins测试打包

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


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

以上是关于持续集成:docker下使用jenkins容器构建docker镜像的主要内容,如果未能解决你的问题,请参考以下文章

使用阿里云容器服务Jenkins实现持续集成和Docker镜像构建

通过Docker容器运行持续集成/持续部署

Jenkins + Github持续集成构建Docker容器,维基百科&人工自能(AI)模块

持续集成与持续部署宝典Part 1:将构建环境容器化

持续集成环境下的 Android 模拟器

实战docker+jenkins+git构建持续集成环境