如何自动增加jenkins内部版本号或使用shell脚本? 现在我使用configure选项做同样的事情,并手动增加。我想自动完成。
答案 0 :(得分:22)
您要求的内容(即在多个作业之间保持相同的内部版本号)在Jenkins中只是不可能。这是通过设计完成的(正如Jenkins创建者自己所说):"[JENKINS] assumes that the build number is unique and monotonic."
。您可以将其更改为更高的值,但将其更改为相同的数字将彻底打破Jenkins,因此无法实现。
构建运行号就是:运行号码 它应该是顺序的 不以任何方式版本号。
然而,有几种方法可以将版本信息添加到构建历史中。
<强> Description Setter Plugin 强>
这就是我使用的。它不会更改内部版本号,而是更改描述,这是自动完成的。此外,由于这是一个描述,它也可以随时手动修改。
这就是它的样子:
请注意,构建#50
和#51
实际上具有相同的版本1.3.0.394376
在该版本字符串中,1.3.0
是当前版本号,由项目属性确定,而394376
实际上是从$SVN_REVISION_1
构建变量获得的SVN修订号。因此,每次SVN中都有新的提交时,我会得到一个新的修订号。但是如果没有提交并且工作因任何原因重建(例如#50
和#51
),我的版本号仍然相同,因为没有代码更改。
我配置的方式是:
echo Version is: ${internalVersionNumberFromWherever}.${SVN_REVISION_1}
Version is: (.*)
(.*)
中提取的任何RegEx将用作说明。Build - \1
。其中\1
是对RegEx中第一组(.*)
的引用。*请注意,如果您的构建在输出版本文本的步骤之前失败,则描述setter插件将无法获取它。如果您总想查看版本,请将版本号的显示设置为第一步。
Build Name Setter plugin
此插件实际上会更改内部版本号
然而请记住每个内部版本号必须唯一的限制
确保将${BUILD_NUMBER}
添加到您想要的任意数字的最佳方法(如上图所示)。通过这种方式,您可以使用50.123
和50.124
之类的内置数字,其中50
是您的版本,而123
和124
是顺序的构建运行号码,Jenkins确保保持${BUILD_NUMBER}
唯一。
最后,还有 Version Number plugin ,我个人没有亲自尝试过,但它可能对您有帮助。