从Jenkins条件发布到Artifactory

时间:2015-01-29 16:16:14

标签: jenkins ivy artifactory

从Jenkins条件发布到Artifactory。

我们有一组Jenkins作业,它们编译,运行单元测试并将库的集成(快照)版本发布到Artifactory。 这些作业有两个触发器:SCM和常春藤触发器。也就是说,作业要么在发生提交时运行,要么在发布新版本的依赖项时运行。 到目前为止一切都很好。

但是,我们希望将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插件。

祝你好运, 安德烈亚斯

0 个答案:

没有答案