项目容器化改造(五)Jenkins打包项目镜像

项目容器化改造(五)Jenkins打包项目镜像

服务器规划

192.168.92.137 Jenkins
192.168.92.139 Harbor

ps:这里两台机都需要安装docker,具体安装教程参照我的上一篇文章

打包镜像需要的内容

如下图:
项目容器化改造(五)Jenkins打包项目镜像

catalina.sh文件

catalina.sh中设定了tomcat的内存,打包进镜像的tomcat中,限定内存大小,作参数调优用

demo-0.0.1-SNAPSHOT.war

项目war包,用作测试打包用

Dockerfile 文件

#以之前制作的基础镜像为基础
FROM base:1.0
#作者
MAINTAINER kris
#日志
ENV REFRESHED_AT 2019-01-13

#复制外部配置文件至tomcat(不同的项目tomcat配置不一样,因此这个配置单独)
ADD catalina.sh  /usr/testimage/tomcat/bin/catalina.sh

#切换镜像的目录,进入/usr/testimage/tomcat/webapps目录
WORKDIR /usr/testimage/tomcat/webapps

#在/usr/testimage/tomcat/webapps下创建目录,用来存放web项目的war包
RUN mkdir demo-0.0.1-SNAPSHOT

#拷贝war至目录下
ADD demo-0.0.1-SNAPSHOT.war  /usr/testimage/tomcat/webapps/demo-0.0.1-SNAPSHOT

#切换镜像的目录,进入/usr/testimage/tomcat/webapps目录
WORKDIR /usr//testimage/tomcat/webapps/demo-0.0.1-SNAPSHOT
#解压war包并删除war包
RUN jar -xvf demo-0.0.1-SNAPSHOT.war
RUN rm  -rf demo-0.0.1-SNAPSHOT.war

新建api_image打包任务

ps:这里需要ssh 插件,插件对jenkins版本有要求,如不满足,请升级jenkins版本

在部署Jenkins的机子上登录Harbor仓库

推送镜像至仓库前需要进行认证
输入账号、密码

docker login 192.168.92.139

配置SSH hosts

在系统管理-系统配置里进行ssh设置
项目容器化改造(五)Jenkins打包项目镜像

设置丢弃旧的构建与参数化构建

项目容器化改造(五)Jenkins打包项目镜像

配置ssh 打包脚本

项目容器化改造(五)Jenkins打包项目镜像

DATE=`date +%Y%m%d%H%M%S`
cd /usr/local/testjar/${IMAGE_NAME}
docker build --no-cache -t ${IMAGE_NAME}:$DATE .
sleep 1
docker tag ${IMAGE_NAME}:$DATE 192.168.92.139/library/${IMAGE_NAME}:$DATE
docker push 192.168.92.139/library/${IMAGE_NAME}:$DATE
sleep 1
docker rmi ${IMAGE_NAME}:$DATE
sleep 1
docker rmi 192.168.92.139/library/${IMAGE_NAME}:$DATE

打包测试

项目容器化改造(五)Jenkins打包项目镜像

在Console Output中查看日志

项目容器化改造(五)Jenkins打包项目镜像

在Harbor仓库中查看镜像

项目容器化改造(五)Jenkins打包项目镜像

上一篇:MVC 项目创建的流程


下一篇:Maven 的Snapshot版本和Release版本