4

我正在开发一个部署在 heroku 上的现有 rails 项目。我正在尝试设置一个从临时分支部署的临时服务器。(目前主部署到生产)。

我正在关注这个页面 http://devcenter.heroku.com/articles/multiple-environments#starting_with_a_production_app

我在“从生产应用程序开始”部分。它给出的代码是

heroku create --stack [production stack] --remote staging --addons newrelic:bronze,logging:expanded

我正在尝试使其适应我自己的需要,但我收到了一条消息Resource not found

这是我从“heroku 应用程序”中得到的

custom_domains:basic
exceptional:basic
logging:expanded
shared-database:5mb

如果我这样做,heroku list我会得到这个

buddystef                 <project manager's email>
vivid-window-286
vivid-earth-537

其中“buddystef”是应用程序的生产版本。所以,我正在尝试这个:

heroku create --stack [buddystef stack] --remote buddy-staging --addons custom_domains:basic,exceptional:basic,logging:expanded,shared-database:5mb

我得到了Resource not found

我需要先为暂存分支设置一个单独的 git repo 吗?如果是这样,最好的方法是什么?

感谢任何建议 - 最大

编辑 - “找不到资源”消息似乎(在谷歌搜索后)与使用错误凭据登录有关。但是,我以 buddystef 项目的所有者身份登录。

4

3 回答 3

3

麦克斯,你的事情似乎过于复杂了。保持简单,按照 John 的建议创建应用程序,添加插件,然后将其声明为暂存环境:

heroku config:add RACK_ENV=staging --app stagingbuddystef

创建environments/staging.rb类似于production.rb

如果它是一个公共站点,您可能希望保护它不被公共访问,避免混淆用户。有关密码保护暂存环境,请参阅此SO 答案

Git:你应该有自己的暂存分支。请记住,heroku 在 master 分支上运行,因此您应该这样做:

myproj git:(staging)$ git push stagingbuddystef staging:master 

在此处阅读有关 git良好实践的更多信息:http: //nvie.com/posts/a-successful-git-branching-model/

于 2011-05-10T07:30:32.923 回答
1

Heroku 使用堆栈语法创建是

heroku create test-sushi-app --stack bamboo-mri-1.9.2

其中bake-mri-1.9.2 可以是以下任何一种:

  • aspen-mri-1.8.6
  • 竹-ree-1.8.7
  • 竹-mri-1.9.2

所以我不确定你[buddystef stack]来自哪里,但这可能是问题所在

于 2011-05-10T06:15:23.217 回答
0

我使用 Heroku San,它会为你做一些跑腿工作。GitHub | 教程

于 2011-08-18T02:27:53.263 回答