github - Jenkins - 当 Github PR 关闭或合并时触发构建

标签 github jenkins terraform

我正在将 Jenkins 与 Github 拉取请求构建器插件一起使用

https://wiki.jenkins.io/display/JENKINS/GitHub+pull+request+builder+plugin

在 PR 打开或更新时触发构建很好,但我需要一种在 PR 关闭或合并时触发的方法。

我使用 Terraform 启动一堆服务器,所以我需要事件或条件在 PR 关闭/合并后终止堆栈。

似乎大多数插件只能由 Github PR 上的打开/更新事件触发。

任何的想法?

谢谢!

最佳答案

您可以通过两种方法做到这一点:

1)通过网络钩子(Hook)。这要求您的 jenkins 有一个公共(public)端点或一些公共(public)端点(可能是代理),github 可以通过这些端点向您的 jenkins 发布信息。

https://wiki.jenkins.io/display/JENKINS/GitHub+Plugin#GitHubPlugin-ManualMode

2) 如果公共(public)端点不可用,则每分钟轮询一次 repo 作为解决方法。

http://www.andyfrench.info/2015/03/automatically-triggering-jenkins-build.html

请注意,在更大的设置中,轮询可能会对性能产生一些影响。 (我多年来一直在使用它,在较小的设置中没有任何问题)。

https://blogs.microsoft.co.il/leonj/2017/01/24/jenkins-poll-scm-the-nightmare-for-performance/

关于github - Jenkins - 当 Github PR 关闭或合并时触发构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46707220/

相关文章:

linux - 允许 Jenkins 访问当前登录用户文件夹的内容

git - Jenkins 作业分支说明符中 master 和 refs/heads/master 之间有什么区别

jenkins - 基于 Jenkins 中用户输入的条件参数

postgresql - 如何使用TerraForm升级RDS实例的PostgreSQL版本?

amazon-web-services - 地形错误: Incorrect attribute value type for subnet_ids vpc modules

github - 如何使用 Jenkins checkout 多个私有(private) Github 存储库

git - 两个github帐户在同一台​​计算机上发生冲突

git - Github for Mac 如何同步?

linux - 只有一个用户可以推/pull 到 github

terraform - AWS OptInRequired 和 Terraform