Jenkins自动构建docker镜像并上传仓库

基本步骤:

Jenkins从git/svn上下载源码——编译打包成war包文件——将war文件移至Dockerfile目录——使用docker build构建镜像——执行脚本上传到私有仓库。

这里讲解编译打包后的步骤

使用Publish Over SSH插件执行脚本

Jenkins自动构建docker镜像并上传仓库_第1张图片

Dockerfile目录内容:

Jenkins自动构建docker镜像并上传仓库_第2张图片

其中Dockerfile内容为

FROM tomcat:8.5

MAINTAINER **** *******@qq.com

WORKDIR /usr/local/tomcat/webapps
ADD /WAR/ROOT.war .
EXPOSE 8080
CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]

其中push_reg.sh内容为

#!/bin/bash
#

Date=`date +%m%d%H%M `
Username="*******" 
Registry_Domain="registry.cn-hangzhou.aliyuncs.com" 
Registry_Addr="${Registry_Domain}/maodocker"
Password="yourpassword"
#注释:以日期作为容器镜像版本号,这里以阿里镜像仓库为例,我的容器仓库名称为maodocker

cd /opt/mytomcat/
docker build -t mytomcat:${Date} .

docker login --username=${Username} $Registry_Domain -p${Password}
docker tag mytomcat:${Date} ${Registry_Addr}/mydocker:${Date}
docker push ${Registry_Addr}/mydocker:${Date}

docker rmi -f ${Registry_Addr}/mydocker:${Date}
docker rmi -f mytomcat:${Date}
#构建上传后删除镜像,避免占用空间

执行Jenkins构建命令 ,执行过程如下图:

 Jenkins自动构建docker镜像并上传仓库_第3张图片

登录阿里云可查看容器信息:

 

你可能感兴趣的:(自动化运维,容器与虚拟化)