Ruby on rails 铁路3&;吉特公司;Heroku-开发/登台服务器
我有一个Rails 3应用程序,我正在与一个使用Git/Github的团队一起开发,并部署到Heroku cedar堆栈中。我们的Github分店有两个主要分支机构:主营和开发 我希望定期将我们的开发分支推送到Heroku上的另一台服务器上,作为开发/登台环境 在不严重中断Git流程的情况下,将我们的开发分支推到与Master不同的应用程序的最简单方法是什么Ruby on rails 铁路3&;吉特公司;Heroku-开发/登台服务器,ruby-on-rails,git,heroku,github,Ruby On Rails,Git,Heroku,Github,我有一个Rails 3应用程序,我正在与一个使用Git/Github的团队一起开发,并部署到Heroku cedar堆栈中。我们的Github分店有两个主要分支机构:主营和开发 我希望定期将我们的开发分支推送到Heroku上的另一台服务器上,作为开发/登台环境 在不严重中断Git流程的情况下,将我们的开发分支推到与Master不同的应用程序的最简单方法是什么 非常感谢 简单。Heroku总是使用master分支,但是使用Git将允许您将/your/development分支推送到/this/ma
非常感谢 简单。Heroku总是使用master分支,但是使用Git将允许您将/your/development分支推送到/this/master 例如:
git push heroku development:master
其中,
heroku
是您的heroku开发环境的发源地,development
是您当地的开发分支机构。如果您不希望您的开发分支在生产模式下运行,您可能也希望覆盖Heroku上的RACK_ENV
var(不过,我个人会在您的代码中创建一个暂存环境,用于缓存等,但不向生产地址发送电子邮件等)是一款Gem,它允许在使用Heroku时进行复杂的部署配置,而无需在命令行上不断指定要推送到的Heroku应用程序。它将允许您完全按照上面所述进行操作。您需要将第二个git remote(即第二个应用程序的heroku git repo url)添加到您的应用程序中,以便能够从单个代码库推送到该应用程序
目前,您可能有一个名为“heroku”的默认远程源,它正在推送到您的生产应用程序中
您需要添加第二个远程源,指向您打算用于登台的新heroku应用程序,例如
git remote add staging <git repo url from 'my apps' page on heroku>
git远程添加暂存
一旦你建立了新的git源代码,你就可以通过
git push staging <branch to deploy>:master
git推送暂存:主
您可以通过让您的config/environments/production.rb
根据环境变量设置某些配置选项来完成类似的配置,然后根据登台/生产应用程序设置不同的Heroku配置变量。好吧,很酷,我现在喜欢这条路线。我添加了第二个应用程序,并实时推送。现在我唯一的问题是,要非常小心,当我从命令行运行heroku东西时,我如何知道我在和哪个应用说话?比如如果我想做heroku运行rake db:seed它如何/为什么知道我在和哪个应用说话?非常感谢将它与命令一起显式传递,例如heroku运行rake db:seed--app
。注意,这是heroku上“我的应用程序”中出现的应用程序名称,而不是远程源名称。这是我写的一篇关于这个主题的旧博文——如果你不想指定——每次都是应用程序,你可以运行git config heroku.remote
,然后,heroku将使用您在不带--app的情况下运行heroku命令时默认指定的遥控器,直到您将其切换到其他遥控器。我计划使用该遥控器,或者至少在不久的将来检查它。它看起来很甜。谢谢