gpt4 book ai didi

ruby-on-rails-3 - 在 heroku 上生产之前部署到测试服务器

转载 作者:行者123 更新时间:2023-12-04 07:20:45 25 4
gpt4 key购买 nike

因为我是新手,我不确定这是否应该是这样的 -

我正在制作一个网络应用程序并使用 heroku 进行托管

我想让几个开发人员在 github 上处理相同的代码。

我想在 heroku 上有 2 台服务器 - 一台用于生产,一台用于测试(它也称为暂存吗?)

问题是我知道从 webapp 文件夹中执行 git push heroku master 会把它发送到应用程序到首先设置的 heroku 服务器。

  1. 如何使用 git 从同一文件夹部署到 2 个不同的 heroku 实例?可能/推荐吗?

  2. 我push到github的时候一般都是master,我是不是要另外一个branch来测试?

  3. 有没有办法在 heroku 实例之间传输应用程序?

如果有什么地方有推荐的heroku和github部署例程我会很乐意阅读

最佳答案

当您运行 git push heroku master 时,“heroku”标识您要推送到的远程存储库。在您的情况下,“heroku”似乎是对您的生产服务器的引用。同样,您可能有一个指向 github 的“来源”远程。

如果你列出你的 git Remote ,你可能会看到这样的东西:

> git remote -v 
heroku git@heroku.com:heroku_app_name.git (fetch)
heroku git@heroku.com:heroku_app_name.git (push)
origin git@github.com:your_github_org/repo_name.git (fetch)
origin git@github.com:your_github_org/repo_name.git (push)

要推送到不同的 heroku 应用程序,您只需将该应用程序添加为新的 git 远程即可。

git remote add heroku-staging git@heroku.com:heroku_staging_app.git

现在您应该能够根据需要推送到任一远程。

git push origin master //push to github
git push heroku-staging //deploy to staging
git push heroku master //deploy to production

一般来说,我建议您不要手动推送到 heroku。希望你可以有一个持续集成服务器监视 github,每当你推送更改时运行测试,并且只有当你的自动化测试通过时才部署到暂存。然后,您可以有一个手动触发的 CI 任务,该任务将当前正在暂存的任何提交也推送到生产中(或者甚至自动化生产部署)。

您可以使用 heroku 命令行执行相同的配置。这也为您提供了一种管理两个 heroku 应用程序上的环境变量和其他设置的好方法: https://devcenter.heroku.com/articles/multiple-environments

关于ruby-on-rails-3 - 在 heroku 上生产之前部署到测试服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12756955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com