重新部署 Heroku 应用程序,不需要修改代码

我想部署 Heroku 应用程序,这将是理想的使用 git push -u heroku master完成。但是,这只有在有任何挂起的提交要推到主服务器时才会起作用。

如何重新部署应用程序,而没有什么可推?我试了 git push -u heroku master -f,仍然得到相同的下面

Branch master set up to track remote branch master from heroku.
Everything up-to-date

PS: 我还想保留现有的应用程序,这意味着我不能使用这个答案 https://stackoverflow.com/a/22043184/968442

69747 次浏览

通常,设置一个 config var 会导致重新启动应用程序。在大多数情况下,这样做之后应该不需要重新部署。

如果你真的需要触发一个新的部署,你可以添加一个新的空白提交,然后再推到 Heroku:

git commit --allow-empty -m "Trigger Heroku deploy after enabling collectstatic"
git push heroku master

新的空提交是常规提交。它有一个散列、一个作者、一个时间戳等。它将具有与其父树相同的树。这应该会导致 Heroku 使用与前一次提交相同的代码再次构建应用程序蛞蝓。

虽然有点尴尬,但还是有用的。

现在 Heroku 命令行也有一个插件,允许您重新释放最近部署的蛞蝓。

参见 https://www.npmjs.com/package/heroku-releases-retry

你可以运行 heroku restart --app app_name,然后就可以开始了。

你也可以从用户界面做到这一点!

  1. 登录到 Heroku仪表板,转到 deploy部分
  2. 查找 Manual deploy选项

Deploy Branch键!

enter image description here

注意: 你必须将你的应用程序连接到 GitHub 才能使用这个选项(见下面 Derek 的评论)。

原来 Heroku 有一个叫做 Heroku 发布重试的简洁插件,可以让您重试最后一次部署,而不必向存储库添加错误的提交。

// install plugin
heroku plugins:install heroku-releases-retry
// retry release
heroku releases:retry --app {your-app}

资料来源: https://www.darraghoriordan.com/2019/03/02/heroku-push-failed-force-rebuild

对于 stopheroku应用程序使用:

$ heroku ps:scale web=0

对于 start,它使用:

$ heroku ps:scale web=1

这对我很有用,它在没有任何提交的情况下完成了一个实际的构建和发布,与另一篇只做了一个发布的文章相反:

heroku plugins:install heroku-builds
heroku builds:create --source-url https://user:token@api.github.com/repos/<username>/<repo name>/tarball/master/ --app <app-name>

资料来源: https://help.heroku.com/I3E6QPQN/how-do-i-force-a-new-deploy-without-adding-a-commit-to-my-github-repo