如何停止部署到正在进行的 Heroku
Posted
技术标签:
【中文标题】如何停止部署到正在进行的 Heroku【英文标题】:How to stop deployment to Heroku in progress 【发布时间】:2017-06-17 01:19:52 【问题描述】:是否可以停止部署到当前正在构建的 Heroku (git push heroku
)?
类似heroku run stopit!
顺便说一句。成功部署后回滚不是我想要的。
【问题讨论】:
这是个好问题。我同时进行了 5 次部署,从未见过发生这种情况 【参考方案1】:我可能已经找到了这个问题的答案,似乎 Heroku 在 5 月份已经回答了这个问题。我假设release phase
他们的意思是deploy
:
https://help.heroku.com/Z44Q4WW4/how-do-i-stop-a-release-phase
发布阶段流程与您的团队中的任何其他 Dyno 相同,希望它们从新版本而不是当前版本运行代码库。
要在发布阶段进程执行时对其进行监控,您可以使用 CLI 命令 heroku ps -a YOUR_APP_NAME。由于这些是正常进程,您可以使用 ps:kill 和 ps:scale 命令来阻止发布阶段完成,这反过来又会阻止最新版本完成。
我还没有对此进行测试,但我会在测试后使用我的确切命令进行更新。如果有人对此进行了测试并可以确认,请随时更新此答案。
【讨论】:
发布阶段在构建结束时运行 - 这是您放置数据库迁移或资产编译任务等内容的地方。所以我认为你不能用它来停止构建。您当然可以使用heroku ps
取消它,但到那时构建将成功完成。
会不会产生不使用build的效果?还是会使用新的部署?所以我还得回滚?我应该有一天测试一下
我不确定 - 我认为它应该无法构建,但我会在测试后报告。
刚刚确认即使发布阶段任务失败也会使用构建。 FWIW 这是一个 Rails 应用程序,发布阶段任务是一个单独的 shell 脚本,它在 rake 任务中引发异常。
发布任务失败,部署失败:devcenter.heroku.com/articles/…【参考方案2】:
首先,安装Heroku builds plugin:
heroku plugins:install heroku-builds
然后,要取消构建,请获取最近构建的列表:
heroku builds -a YOUR_APP_NAME
输出的第一行将是您当前正在运行的构建,第一列是构建 ID。
取消它:
heroku builds:cancel BUILD_ID -a YOUR_APP_NAME
等等,这将强制构建失败。
注意:您也可以从构建日志 URL 中获取构建 ID。
【讨论】:
【参考方案3】:我使用了命令
heroku builds:cancel -a <your_app_name>
这对我有用
【讨论】:
以上是关于如何停止部署到正在进行的 Heroku的主要内容,如果未能解决你的问题,请参考以下文章
当我将django应用程序部署到heroku时,该站点停止工作
在 localhost 上工作的 Mongo $lookup 在 heroku 部署中停止工作
在 mongo、node、passport 和 heroku 上对用户进行身份验证。几天后停止工作