【问题标题】:How to make Jenkins look for pull request in git, instead of git triggering job in jenkins?如何让詹金斯在 git 中寻找拉取请求,而不是在詹金斯中触发 git 工作?
【发布时间】:2019-04-25 15:47:38
【问题描述】:
我寻找一个解决方案,实际上是 Jenkins 在 git 中寻找拉取请求并触发作业并报告结果。
通常是 git hook 触发 Jenkins 中的工作。但是由于一个新程序,我正在以另一种方式工作。
应该是 Jenkins 做所有事情。从检查 git 上的任何拉取请求到触发自身并将结果发送到 git。
【问题讨论】:
标签:
jenkins
jenkins-pipeline
bitbucket
jenkins-plugins
bitbucket-cloud
【解决方案1】:
这将是很多工作逻辑。我不推荐tbh。
您将使用管道 cron 触发器来设置您的作业的定期执行。
pipelineTriggers([cron('''* 1 * * *''')]),
然后你需要检查bitbucket/github,确定是否有任何新的变化,然后是否采取行动。
这将是很多逻辑,我会改为通过 webhook 路径保留在 git > jenkins 上,并在 jenkins 文件中设置关于做什么的条件。
【解决方案2】:
您是否尝试过轮询 SCM 选项?它是核心的一部分,位于 UI 的 Build Triggers 部分。
代替:
triggers {
cron('@hourly')
}
用途:
triggers {
scm('@hourly')
}
如果 Jenkins 检测到与之前相同的提交,它会再次休眠。