如何让 jenkins 在存储库中没有更改的情况下进行构建?

How to get jenkins to build regardless of no changes in the repository?

提问人:LostHat 提问时间:9/8/2023 更新时间:9/9/2023 访问量:45

问:

我设置了一个 bitbucket webhook 以在不同的 bitbucket 存储库上触发 jenkins 作业。这里的问题是,由于没有对应该运行作业的存储库进行任何更改,因此作业不会启动。那么,我怎样才能让 jenkins 开始构建,而不管存储库中未进行更改。

此外,如果您对如何从不同的 bitbucket 存储库触发 jenkins 构建有更好的想法,请告诉我。

jenkins jenkins-plugins bitbucket-server bitbucket-webhook

评论


答:

0赞 M B 9/9/2023 #1

您可以有一个定期运行的轮询作业(例如每 3 分钟运行一次),并检查 BB 存储库是否有任何推送到它的更改。如果是这种情况,请继续并触发另一个 BB 存储库的构建。

如果您只想运行一组特定的自动化步骤,并且不传入任何因构建而异的构建参数,这已经足够了。Jenkins 将自动取消触发的任何构建,如果它们与当前正在运行的构建相似。

在构建结束时,使用 BitBucket API 将第一个存储库(触发存储库)提交的状态设置为“成功”或“失败”。这样,您可以在轮询作业中设置一个条件,用于检查是否已生成最新提交(通过检查提交是否具有生成状态)。如果是这样,请忽略该提交,这样就不会一遍又一遍地构建相同的内容。if