Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Github 当Heroku review应用程序构建失败时防止合并_Github_Heroku_Circleci - Fatal编程技术网

Github 当Heroku review应用程序构建失败时防止合并

Github 当Heroku review应用程序构建失败时防止合并,github,heroku,circleci,Github,Heroku,Circleci,我们正在使用Github+CircleCI+Heroku进行自动部署设置 有时会出现CI未捕获的部署错误(尽管CI运行正常,但部署失败事件)。我们为所有PRs设置了审查应用程序 如果PR能够指出这一点,并在review应用程序部署失败时阻止我们合并(这通常意味着临时/生产应用程序的部署也会失败),那就太好了 我找不到这方面的任何文件。我看到的唯一可能的方法是使用GitHub API添加对此的自定义检查 有人解决了这个问题吗?您可以使用Github的受保护分支来解决这个问题 导航到存储库的设置->

我们正在使用Github+CircleCI+Heroku进行自动部署设置

有时会出现CI未捕获的部署错误(尽管CI运行正常,但部署失败事件)。我们为所有PRs设置了审查应用程序

如果PR能够指出这一点,并在review应用程序部署失败时阻止我们合并(这通常意味着临时/生产应用程序的部署也会失败),那就太好了

我找不到这方面的任何文件。我看到的唯一可能的方法是使用GitHub API添加对此的自定义检查


有人解决了这个问题吗?

您可以使用Github的受保护分支来解决这个问题

导航到存储库的设置->分支->添加保护规则->选择“合并前需要状态检查”,然后选择“CircleCI”


为了使其工作,如果部署失败,您需要使CI失败。如果您从Heroku获得失败,您应该运行任何命令,该命令将作为状态代码返回
exit 1
,这将使您的CI失败。

我们已执行GitHub操作以测试Heroku Review应用程序的部署状态:

这可以在GitHub工作流中用于测试部署状态

更新:我们写了一篇关于验证Review应用程序部署状态的不同方法的博客文章


链接:

我自己也在寻找这个,你发现了什么吗?不幸的是没有……CircleCI没有Heroku review应用程序部署的上下文,因此无法知道何时或是否会失败构建。为什么不从CI部署Heroku review应用程序,而不是Github自动部署?因为这并不简单。例如,这比创建一个机器人来检查部署是否正常并向GitHub报告要困难得多。