在前面的文章中介绍了如何使用docker{}结合image来使用Maven容器,而此Maven容器是使用已经存在的Maven镜像启动的。这种使用方法的限制在于事前需要准备Maven镜像,而如果希望流水线即代码更加彻底的话,一种常见的做法是此Maven镜像也动态生成,Jenkinsfile中提供了dockerfile{}来完成这类需求。
示例
本文示例:
将流水线分按照功能分为逻辑上的三段:构建(Build) 、测试(Test)、部署(Deploy),顺序如下所示。
这里将本文中提到的条件分开在这三个stage中进行示例使用介绍。
环境准备
本文使用Easypack的LTS Jenkins 2.176.1版,环境准备请参看
获取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:6114d2da2d1ce4da18c0ed720e06e1d7
liumiaocn:jenkins liumiao$
创建Job
使用如下代码示例创建Job
l