git - BitBucket 触发 Jenkins 工作
问题描述
我查看了 Jenkins 中的 BitBucket Plugin 以进行持续集成设置。但是,我想要一个包装器,这样每次对 BitBucket 进行提交时,我如何才能确定进行此提交的分支名称。我不想为每个 repo 设置单独的 jenkins 作业,而是想在 Jenkins 中捕获 repo 名称和分支名称,它们在 Bitbucket 中有相应的提交,并将此信息存储在 MySQL db 中。
这样我就可以每天轮询以查看哪些所有存储库发生了变化并获得脉搏。
关于如何在 Jenkins 工作中获取 git 分支和 repo 名称的任何指示?
解决方案
关于存储库名称,您可以从中提取它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 自创建以来可能已被删除或重命名。
推荐阅读
- c# - 使用电子邮件通道发送多个回复
- applozic - 接收推送通知时的有效负载是什么?[iOS]
- python-3.x - 如何防止原始熊猫数据框在类对象中被引用时更改其值?
- webpack - 在 Angular 7.2.2 应用程序中,Webpack 告诉我将 System.import() 替换为 import(),但这会产生错误。我该如何解决?
- r - 从两列计算平均值,然后计算日平均值到年平均值
- python - Python & matplotlib 绘图点超出域,曲线拟合不佳
- r - 具有填充美学的 Geom_label。删除图例中的字母
- sonarqube - 在 Jenkinsfile 中设置 SonarQube webhook
- javascript - Tensorflow.js SymbolicTensor 不被接受为输入
- java - Java LayoutManager 重新评估