为多种环境分配我现有的heroku应用程序

时间:2014-03-10 23:41:41

标签: git heroku deployment ruby-on-rails-4

我正在尝试分叉我现有的应用程序,这样我就可以创建一个与生产应用程序分开的暂存环境,无论我尝试什么,我都会遇到错误。

我肯定有一个heroku工具箱,我肯定已经登录了。

当我运行git remote -v时,我明白了:

origin  https://github.com/account/mysite.git (fetch)
origin  https://github.com/account/mysite.git (push)
production  git@heroku.com:mysite.git (fetch)
production  git@heroku.com:mysite.git (push)

当我运行heroku fork -a production staging时,我明白了:

Failed to fork app production to staging.

     !    WARNING: Potentially Destructive Action
 !    This command will destroy staging (including all add-ons).
 !    To proceed, type "staging" or re-run this command with --confirm staging

如果我输入staging,我就明白了:

Deleting staging... failed
 !    You do not have access to the app staging.

我感到困惑的是为什么它认为一个名为'staging'的应用程序存在,我正试图把它作为一个新环境分叉。

当我在终端尝试其他建议时,我得到了这个:

heroku fork -a production --confirm staging
 !    Mismatch between --app and --confirm
Failed to fork app  to .
 !    Confirmed app staging did not match the selected app .

当我尝试heroku apps:info时,我得到了:

 !    App not found

这看起来也很奇怪。如果我指定heroku apps:info --app stagingheroku apps:info --app production,那么我会

 !    You do not have access to the app staging.

当我尝试git remote rm staging时,它只是确认没有“暂存”环境:

error: Could not remove config section 'remote.staging'

我似乎也没有“生产”方面的工作,就像我git push production master我得到

 !  No such app as mysite.

但是当我访问http://mysite.herokuapp.com时,它绝对存在!

这让我发疯了 - 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:7)

staging应该是您正在创建的应用程序的名称,而不是git remote的名称。您需要选择一个唯一的名称。我通常使用mysite-prodmysite-staging作为我的应用程序名称。