可以在不使用Heroku Toolbelt的情况下部署Rails应用程序吗?如果是这样,怎么样?

时间:2014-11-24 08:56:06

标签: ruby-on-rails git heroku

我想在不使用Heroku ToolBelt的情况下部署rails app。可能吗?如果是这样,怎么样?我只允许使用Heroku仪表板;我不允许使用任何其他云服务:(

我必须运行PostgreSQL命令,添加附加组件并设置配置变量以及我们可以使用Heroku Toolbelt在生产环境中部署应用程序的其他任务。

错误:

user@xx ~/Desktop/github/blog (master)
$ git push git@heroku.com:herokugui.git master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我不想使用Heroku Toolbelt。这就是我使用Git命令在Heroku上部署代码的原因。我无法使用Git命令将代码推送到Heroku。没有工具带可以完成这项任务吗?

我的另一个问题是:有没有办法在Heroku GUI上运行PostgreSQL命令?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:8)

这并不容易(与Heroku工具带一样),但它是可能的。它至少涉及到你的Heroku仪表板,所以请确保你可以访问它。

首先,您需要一把钥匙。如果您使用的是Linux机器(就像我一样),那么在主目录中,您应该有一个名为.ssh的文件夹(可能会被隐藏,请点击Ctrl+H以显示,再次,如果Linux)和文件id_rsa.pub在那里。如果没有,则需要先生成SSH密钥。

ssh-keygen -t rsa

这会提示你输入一个文件夹,默认是好的,只需点击Enter,然后输入密码(两次)以保护你的密钥不被计算机上的任何其他人访问:没有密码,它是未加密的,任何人都可以从该机器上免费使用。

完成后,找到您的公钥文件:id_rsa.pub注意:不是id_rsa,它是一个私钥,你可能不想把它交给任何人,这很像你未来的Heroku密码,除了它对于密码来说太疯狂了。打开id_rsa.pub,您应该会看到以下内容:

ssh-rsa aWhOLELotofUnreadABLEGibbERishWHiCHiSactUALLyYourPubLIcKeY...

您需要在Heroku信息中心的 SSH密钥下的帐户设置中输入该行。您可以在密钥here, in Heroku docs上找到更多信息。确保Heroku通过发出以下内容实际识别您:

ssh -v git@heroku.com

它应该声明您已通过身份验证。

现在是git地址。我假设您了解git的方法,所以我会保持简短:您需要从应用名称中获取您的存储库地址。 Heroku通常会生成奇怪的(但有些诗意的)名称,如falling-wind-1624shielded-fjord-1858。我将以第一个为例,这是你如何将其地址添加为git remote:

git remote add heroku git@heroku.com:falling-wind-1624.git

我将在下面解释一下。那么工具带在这里做的是仅使用您的应用程序名称,它只是通过添加Heroku服务器的路径以相同的方式构建URL。完成后,您应该能够推送代码:

git push heroku master

我在上面命名了一个Heroku远程heroku,这就是我在这里使用heroku名称的原因,您可以随意命名并随后使用它。一旦你推动了代码,剩下的就由你决定了。