【问题标题】:Jenkins job DSL: extract branch with last commit in groovy scriptJenkins 工作 DSL:在 groovy 脚本中提取最后一次提交的分支
【发布时间】:2017-02-27 10:18:58
【问题描述】:

我正在使用 Jenkins 自动运行作业。我还使用 Bitbucket Server 作为版本控制系统。

我使用一些 groovy 脚本在我的 Bitbucket 存储库(每次提交)中的任何更改上设置我的 Jenkins 作业 DSL 以创建作业:

job(jobName) {
  steps {
    // Doing some staff. Need name of branch where last commit was done
  }
  scm {
      git('ssh://git@<my_git_host>/<my_project>/<my_repo>.git', '**')
  }
  triggers {
    bitbucketPush()
    scm ''
  }

所以,当我对my_repo 进行一些提交时,此作业会运行,我想提取完成提交的分支的名称。有没有可能以某种方式做到这一点?

附:在 Jenkins 端(UI)我可以看到当前执行的分支名称,但我不知道如何在 groovy 端提取它。

【问题讨论】:

  • 您是否正在寻找在提交发生的分支上运行的计划?还是每次有提交时只是一个特定的分支?
  • @KeepCalmAndCarryOn,我对我的存储库中发生提交的每个分支都很感兴趣

标签: jenkins groovy jenkins-job-dsl bitbucket-server


【解决方案1】:

基本上,每个构建的分支信息都会存储在 ID 为“GIT_BRANCH”的环境变量中,因此有很多方法可以提取它。

您可以简单地添加以下脚本

job(jobName) {
  steps {
       shell('''
               echo $GIT_BRANCH
             '''.stripIndent().trim())
            }
  scm {
      git('ssh://git@<my_git_host>/<my_project>/<my_repo>.git', '**')
  }
  triggers {
    bitbucketPush()
    scm ''
  }

【讨论】:

  • 谢谢!这些变量是否记录在某处?
  • 你只需点击内部版本号,它将打开构建信息页面。在该页面左侧,您可以看到 Environment Varribles 选项卡
猜你喜欢
  • 2017-06-19
  • 2019-03-13
  • 2012-08-31
  • 1970-01-01
  • 2022-07-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-26
  • 2021-10-13
相关资源
最近更新 更多