在上一篇文章中我们介绍了在Jenkinsfile中使用dockerfile来动态生成镜像,从而在指定的阶段进行使用。而对于将构建生成的二进制应用进行容器化,比如将spring boot应用的jar文件打包生成一个基于JRE或者JDK基础的镜像,这个可以使用docker.build来实现,这篇文章将继续结合示例来进行介绍。
环境准备
本文使用Easypack的LTS Jenkins 2.176.1版,环境准备请参看
- https://liumiaocn.blog.csdn.net/article/details/92764938
Registry 准备:
本文使用docker registry作为镜像私库的管理,环境准备只需如下一行语句即可
执行命令:docker run -d -p 5000:5000 registry
使用docker ps确认私库管理的容器已经启动
liumiaocn:docker liumiao$ docker ps |grep registry
06601f2782c0 registry "/entrypoint.sh /etc…" About a minute ago Up About a minute 0.0.0.0:5000->5000/tcp cocky_murdock
liumiaocn:docker liumiao$
获取Jenkins-Crumb
使用如下示例代码获取Jenkins-Crumb,为使用API方式为示例作准备。
liumiaocn:jenkins liumiao$ jenkins_host_url=http://localhost:32002
liumiaocn:jenkins liumiao$ user_passwd="root:liumiaocn"
liumiaocn:jenkins liumiao$ jenkins_crumb=`curl -u $user_passwd ${
jenkins_host_url}'/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)' 2>/dev/null`
liumiaocn:jenkins liumiao$ echo $jenkins_crumb
Jenkins-Crumb:6af0183fd58dea3d16f393b9e3272747
liumiaocn:jenkins liumiao$
创建Job
使用如下代码示例创建Job
liumiaocn:jenkins liumiao$ ls demo/pipeline/docker/registry/config.xml
demo/pipeline/docker/registry/config.xml
liumiaocn:jenkins liumiao$ cat demo/pipeline/docker/registry/config.xml
<?xml version='1.1' encoding='UTF-8'?>
<flow-definition plugin="workflow-job@2.32">
<actions>
<org.jenkinsci.plugins.pipeline.modeldefinition.actions.DeclarativeJobAction plugin="pipeline-model-definition@1.3.8"/>
</actions>
<description>Pipeline Job Sample</description>
<keepDependencies>false</keepDependencies>
<properties>