Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 铁路3&;吉特公司;Heroku-开发/登台服务器_Ruby On Rails_Git_Heroku_Github - Fatal编程技术网

Ruby on rails 铁路3&;吉特公司;Heroku-开发/登台服务器

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

我有一个Rails 3应用程序,我正在与一个使用Git/Github的团队一起开发,并部署到Heroku cedar堆栈中。我们的Github分店有两个主要分支机构:主营和开发

我希望定期将我们的开发分支推送到Heroku上的另一台服务器上,作为开发/登台环境

在不严重中断Git流程的情况下,将我们的开发分支推到与Master不同的应用程序的最简单方法是什么


非常感谢

简单。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命令时默认指定的遥控器,直到您将其切换到其他遥控器。我计划使用该遥控器,或者至少在不久的将来检查它。它看起来很甜。谢谢