【问题标题】:Promote all builds to master on Jenkins在 Jenkins 上提升所有构建以掌握
【发布时间】:2014-07-31 16:17:37
【问题描述】:

我在我的项目中使用 Jenkins 进行 CI。现在,我有一个“Dev”构建,只要对任何分支进行提交,它就会由 Stash(git 服务器)触发。

我也在尝试整合我的发布工作流程。这是计划:

  • 开发作业使用Promoted Builds 插件将所有构建升级到master
  • Dev 提升触发发布作业

但是,我似乎不知道如何基于其分支来推广构建。我尝试了“根据构建参数立即升级”并将GIT_BRANCH 指定为origin/master。当我运行构建时,我 echo %GIT_BRANCH% 并在它应该打印的时候打印 origin/master

我还尝试将字符串参数BRANCH 添加到构建中,并在我的构建脚本中添加set BRANCH=%GIT_BRANCH%,以防它实际上需要作为参数而不仅仅是环境变量。

还是一头雾水。

【问题讨论】:

    标签: git jenkins continuous-integration bitbucket-server


    【解决方案1】:

    终于想通了。添加了一个名为IS_RELEASE_CANDIDATE 的字符串构建参数,默认值为0。我正在使用“根据构建参数在构建完成后立即升级”,条件是 IS_RELEASE_CANDIDATE1

    在我的构建步骤中,我添加了一个条件步骤,使用 Conditional BuildStep Plugin 在字符串 $GIT_BRANCHstash/master 匹配时运行。

    如果它们匹配,我使用EnvInject Plugin 来设置IS_RELEASE_CANDIDATE=1

    【讨论】:

    • 我尝试设置它没有运气 - 你还在使用这个配置吗?
    • 据我所知,它仍在工作,但这是我以前的工作,所以我不再有权访问构建服务器。
    【解决方案2】:

    我可以通过使用Custom Groovy Script 选项来做到这一点,该选项提供了一个build 对象,您可以从中访问环境变量。此脚本仅允许在与 origin/master 分支匹配的构建上进行升级。

    【讨论】:

      猜你喜欢
      • 2016-11-01
      • 2019-10-05
      • 2022-01-26
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多