And*_*olm 5 ivy artifactory jenkins
从 Jenkins 有条件地发布到 Artifactory。
我们有一组 Jenkins 作业,用于编译、运行单元测试并将库的集成(快照)版本发布到 Artifactory。这些作业有两个触发器:SCM 和 Ivy 触发器。也就是说,该作业要么在发生提交时运行,要么在发布依赖项的新版本时运行。到现在为止还挺好。
但是,我们希望发布到 Artifactory 是有条件的,这样如果构建原因是常春藤触发,则不会发生发布,仅在 Scm 和手动触发上。这是因为在 ivy 触发器上我们只想运行编译和单元测试来实现 contionus 集成,并且发布的工件将与以前的版本相同。有条件的发布也将避免触发链式反应,可能在每次提交时重新编译和发布我们所有的代码。
有两点我可以尝试实现这一点。
在詹金斯的工作中。找不到实现这一点的方法。
在 Artifactory 中,作为 Build.beforeSave() groovy 插件脚本。我可以访问变量,即“buildInfo.env.BUILD_CAUSE”:“SCMTRIGGER”、“buildInfo.env.BUILD_CAUSE”:“MANUALTRIGGER”,但是,如果我继续,我可能不得不中止保存并出现异常。如果异常完全通过,它可能会将我的构建标记为失败,这不是本意。
关于如何实现这一目标的任何想法?
对于 Artifactory 团队,将此视为功能请求:在 Jenkins UI 中添加选项以仅在启动构建的特定触发器集上继续发布(ivy、scm、url、script、fs、buildresult)这些触发器来自XTrigger 插件。
最好的问候, 安德烈亚斯
归档时间: |
|
查看次数: |
604 次 |
最近记录: |