我正在建立一个新的哈德森项目,偶然发现了release plugin。你基本上有两种可能性:
releaseVersion
和developmentVersion
- 然后maven发布插件使用默认值。 (例如1.0.0-SNAPSHOT(svn) - > 1.0.0版本将被发布(标签在svn中),1.0.1-SNAPSHOT将成为下一个开发版本。)在大多数情况下,这对我们来说已经足够了。但是在某些情况下(例如,应该建立主要版本),它还不够。preRelease
和postRelease
动作的情况。但是如果插件稍微更聪明,那么就不需要imho了。 所以我的问题是:有没有办法不使用发布前/发布脚本来获取想要的行为?
所需行为是:字段releaseVersion
和developmentVersion
应预先填充实际版本/版本+ 1。如果这是不可能的,那么将这些字段留空也是足够的(如果它触发maven构建插件的默认行为)如果这些字段现在为空,则将使用空参数调用maven,从而失败。
(在不同的项目中,我使用jenkins与artifactory release插件结合使用非常简单 - 如果应该发布一个版本,则会显示列出所有版本的页面。例如,如果主要版本应该构建用户可以很容易地改变数字。)
答案 0 :(得分:1)
我遇到了类似的问题,但对我而言,解决方案可能会在您的情况下产生一些重大开销。
我的设置中的作业不是手动创建的,而是使用Job DSL Plugin生成的。情况就是这样,因为存在许多针对不同工件的类似作业,并且生成往往会阻止来自不同用户的雪花作业。
我的解决方案看起来像这样:
这对我来说很容易实现,因为Job DSL已经到位并且每个工件的名称都是作业名称的一部分。它远非完美,因为可能有时间点没有显示正确的版本(在新版本发布之后没有重新创建作业)。
另一种选择是为此任务创建自定义Jenkins插件,但它可能会带来更多的开销。
PS:如果此解决方案是您想尝试的路线,我可以尝试包含更多代码示例。