Rails3 & Git & Heroku - 开发/暂存服务器



我有一个Rails 3应用程序,我正在与一个使用Git/Github的团队开发,并部署到Heroku雪松堆栈。我们的Github仓库有两个主要分支Master和Development。

我想把我们的开发分支定期推送到Heroku上的不同服务器上作为开发/暂存环境。

将我们的开发分支推送到不同于Master的应用程序而又不太破坏我们的Git流的最干净最简单的方法是什么?

非常感谢!

你会想要添加第二个git远程,即你的第二个应用程序的heroku git repo url到你的应用程序中,以便能够从单个代码库推送到它。

现在你可能有一个默认的名为'heroku'的远程源,它正在推送到你的生产应用程序。

你需要添加第二个远程原点,指向你打算用于暂存的新heroku应用,例如

git remote add staging <git repo url from 'my apps' page on heroku>

一旦你设置好了新的git源文件,你可以通过;

git push staging <branch to deploy>:master

很简单。Heroku总是使用master分支,但是使用Git可以将/your/development分支推送到/their/master

例如:

git push heroku development:master

,其中heroku是您的英雄开发环境的起源,development是您的本地开发分支。如果你不想让你的开发分支在生产模式下运行,你也可能想要覆盖Heroku上的RACK_ENV变量(尽管,我个人会在你的代码中创建一个暂存环境,它可以缓存等,但不会向生产地址发送电子邮件等)

heroku_san是一个Gem,它允许在使用Heroku时进行复杂的部署配置,而不需要在命令行中不断指定要推送到哪个Heroku应用。