那种前言在上一篇关于在Jenkins中使用环境变量的文章中,我帮助大家通过一条Docker命令快速玩转Jenkins,同时用最简单的方式解释了Jenkins中容易混淆的环境变量。这篇文章还算成熟,谈变量项目过程中的CI部分会通过JenkinsPipeline来完成。在默认的Jenkins环境配置中,JenkinsPipeline分为两种:Pipeline(单分支Pipeline)MultibranchPipeline(多分支Pipeline)如下图:动态使用分支名称是没有问题的。如果你想使用单分支Pipeline,动态使用分支,这篇文章会派上用场。在Jenkins中动态使用分支名称新建单分支Pipeline后,在界面中可以看到Thisprojectisparameterized,勾选,添加String类型参数,如下图,String类型参数名称为BranchName,默认值为master分支向下滚动配置JenkinsPipeline,其中在指定JenkinsPipeline分支的位置可以使用上面刚刚创建的变量BranchName如下图,配置为*/${BranchName}注意:如果勾选Lightweightcheckout,可能会出现如下Errorstderr:fatal:Couldn'tfindremoterefrefs/heads/${BranchName}这样JenkinsPipeline会根据分支名动态拉取代码,你也可以动态使用新创建的BranchNamepipeline{...parameters{string(name:'BranchName',defaultValue:'master',description:null)}stages{stage('TestBranchName'){steps{echo"${env.BranchName}"}}}}点击Buildwit后h左边的参数,我们可以动态的输入分支名称以运行作业。综上所述,在Jenkins中,这其实是一种很常见的动态使用参数的方式。config的其他参数也可以动态引用变量,大大增加了灵活性。如果你想维护JenkinsPipelie相关的内容,大概率会遇到这种需求,而这个小技巧就在你的口袋里。
