我目前正在使用带有基本 Jenkins 集成的 GitHub (带有 GitHub 插件) : 每次我按下某个东西,我的 Jenkins 测试就会被触发,状态会报告给 GitHub。
由于一些肮脏的原因(我知道根本原因在这里) ,我的测试可能会随机失败,然后向 GitHub 报告一个失败的状态(这阻止了合并 PR 的可能性: 这是预期的行为)。
您知道是否有可能在不推送新提交的情况下重新启动测试?因为我知道如果我重新启动测试,他们会通过的。
更新: 您还可以向分支推送一个空提交来重新触发状态检查: git commit -m "retrigger checks" --allow-empty,然后是 git push <branchname>
git commit -m "retrigger checks" --allow-empty
git push <branchname>
您可以通过关闭然后重新打开拉请求来完成此操作。这将导致所有状态检查在同一次提交中再次运行。
这取决于您如何将 Github 与 Jenkins 集成,以及您使用了哪些插件,方法可能会有所不同。但是通常你会支持“魔术”——如果在 Github 上添加评论,这些句子会重新激活 Jenkins。
例如,在 Github 中注释“测试这个请”或“重新测试这个请”可能会重新触发詹金斯。
执行 git commit --amend和强制推送使得 github 重新触发所有检查。不是完美的,但比关闭然后重新打开 PR 要好。
git commit --amend
看来关闭和重新开放公关是个不错的选择。
Github 用户界面中现在有一个重新执行检查的按钮。不知道对 Jenkins 有没有用,但对我的情况很有用。
如果您打开一个 PR 失败,在 Checks 选项卡下,您将看到在您的 PR 上执行的所有检查的列表。在失败的文件旁边,会有一个可点击的文本,上面写着“重新运行”