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
如果Ghost Inspector失败,我可以中止Heroku部署吗?_Heroku_Deployment_Ghost Inspector - Fatal编程技术网

如果Ghost Inspector失败,我可以中止Heroku部署吗?

如果Ghost Inspector失败,我可以中止Heroku部署吗?,heroku,deployment,ghost-inspector,Heroku,Deployment,Ghost Inspector,如果Ghost Inspector测试使用部署挂钩执行失败,是否可以中止Heroku部署?我知道部署钩子不会等待钩子的回答,但有什么方法可以实现这一点吗?您可以利用发布阶段,它允许您在部署新版本的应用程序之前运行任何脚本 首先,您需要向Procfile release: bin/check-ghost-inspector-test 这是假设您的项目中有bin目录和可执行脚本check ghost inspector test。此脚本将在应用程序生成、配置变量更改、回滚等之后运行。如果脚本返回状

如果Ghost Inspector测试使用部署挂钩执行失败,是否可以中止Heroku部署?我知道部署钩子不会等待钩子的回答,但有什么方法可以实现这一点吗?

您可以利用发布阶段,它允许您在部署新版本的应用程序之前运行任何脚本

首先,您需要向
Procfile

release: bin/check-ghost-inspector-test
这是假设您的项目中有
bin
目录和可执行脚本
check ghost inspector test
。此脚本将在应用程序生成、配置变量更改、回滚等之后运行。如果脚本返回状态为0,则将部署您的应用程序。否则,发布阶段将失败,您的应用程序将无法部署

知道您应该实现脚本来轮询Ghost Inspector以了解测试的当前状态。如果测试成功,则退出,状态为0。如果出现故障,请以0以外的任何状态退出。我想通过一些Ghost Inspector api发送commit sha来获取测试运行状态是可能的。您必须选择以下选项才能在dyno上获取当前提交sha:

  • 通过运行heroku labs启用dyno metadata lab功能:启用运行时dyno metadata-a,它将注入
    SOURCE\u VERSION
    config var
  • 这种方法的缺点是,您需要通过配置变量为Ghost Inspector API传递一些凭据

    我能想到的另一个解决方案是为连续交付设置一些专用解决方案,并且仅在测试通过时调用新部署