如何自动增加jenkins内部版本号或使用shell脚本?现在我使用configure选项做同样的事情,并手动增加.我想自动做.
你要求的(即在多个工作之间保持编号相同)在Jenkins中根本不可能.这是由设计完成的(如詹金斯的创造者自己注意): "[JENKINS] assumes that the build number is unique and monotonic."
.您可以将其更改为更高的值,但将其更改为相同的数字将彻底打破Jenkins,因此无法实现.
构建运行编号就是:运行编号.
它应该是顺序的.
它不是任何版本号.
但是,有几种方法可以将版本信息添加到构建历史中.
描述Setter插件
这是我使用的.它不会更改内部版本号,而是更改自动完成的描述.此外,由于这是描述,因此也可以随时手动修改.
这就是它的样子:
需要注意的是建立#50
和#51
实际上具有相同的版本1.3.0.394376
.
在该版本字符串中,1.3.0
是由项目属性确定的当前版本号,而394376
实际上是从$SVN_REVISION_1
构建变量获取的SVN修订号.因此,每次SVN中都有新的提交时,我会得到一个新的修订号.但是如果没有提交并且作业因任何原因重建(比如in #50
和#51
),我的版本号保持不变,因为没有代码更改.
我配置的方式是:
下载说明Setter插件
在构建步骤的某处,输出您的版本*
我只是:
echo Version is: ${internalVersionNumberFromWherever}.${SVN_REVISION_1}
下一个设置使用Set构建描述的构建后操作
设置正则表达式从控制台中提取版本号:
Version is: (.*)
将其他所有内容留空,RegEx选择的内容(.*)
将用作描述.
或者,您可以进一步将描述文本设置为Build - \1
.RegEx中\1
对第一组的引用在哪里(.*)
.
您可以随时通过从构建历史记录中选择构建运行并单击右侧的"编辑描述"链接来手动更改运行描述(前提是该用户已配置"更新"权限).
*请注意,如果您的构建在输出版本文本的步骤之前失败,则描述setter插件将无法获取它.如果您始终想要查看版本,请将版本号的显示设置为第一步.
Build Name Setter插件
此插件实际上会更改内部版本号
但请记住每个构建号必须是唯一的限制.
确保添加${BUILD_NUMBER}
到您想要的任意数字的最佳方法(如上图所示).通过这种方式,您可以拥有类似的构建数字50.123
,然后您的版本在50.124
哪里,并且是顺序构建运行编号,并且Jenkins确保保持唯一.50
123
124
${BUILD_NUMBER}
最后,有一个版本号插件,我没有亲自尝试,但它可能会帮助你.