在上篇文章中介绍了如何使用when{}来进行条件分支处理,由于Jenkinsfile本身就支持groovy语法,所以这篇文章将上篇文章的示例用if语句重新改写一遍,来加深对于Jenkinsfile使用方法的理解。
环境准备
本文使用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:83d748ee92512c4dccd589aaa5c55a9a
liumiaocn:jenkins liumiao$
创建Job
使用如下代码示例创建Job
liumiaocn:jenkins liumiao$ ls demo/pipeline/if/config.xml
demo/pipeline/if/config.xml
liumiaocn:jenkins liumiao$ cat demo/pipeline/if/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>
<hudson.plugins.jira.JiraProjectProperty plugin="jira@3.0.7"/>
<com.dabsquared.gitlabjenkins.connection.GitLabConnectionProperty plugin="gitlab-plugin@1.5.12">
<gitLabConnection><<