首页 > 解决方案 > BitBucket 触发 Jenkins 工作

问题描述

我查看了 Jenkins 中的 BitBucket Plugin 以进行持续集成设置。但是,我想要一个包装器,这样每次对 BitBucket 进行提交时,我如何才能确定进行此提交的分支名称。我不想为每个 repo 设置单独的 jenkins 作业,而是想在 Jenkins 中捕获 repo 名称和分支名称,它们在 Bitbucket 中有相应的提交,并将此信息存储在 MySQL db 中。

这样我就可以每天轮询以查看哪些所有存储库发生了变化并获得脉搏。

关于如何在 Jenkins 工作中获取 git 分支和 repo 名称的任何指示?

标签: gitjenkinsbitbucketgithooksbitbucket-api

解决方案


关于存储库名称,您可以从中提取它GIT_URL(假设您只有一个遥控器)

您还有其他环境变量,包括:

  • GIT_BRANCH: Jenkins Git 插件正在运行的当前 Git 分支的名称,以及
  • GIT_LOCAL_BRANCH: the name of the local Git branch when the “checkout to specific local branch” Jenkins Git plugin option is selected

但是这些都没有告诉你提交的分支的名称:git branch --contains <aSHA1>可以返回多个分支(可以访问 SHA1 的所有分支,即尖端提交是命名提交的后代的
分支)提交所在的分支created 自创建以来可能已被删除或重命名。


推荐阅读