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

Aja*_*pta 3 git ruby-on-rails 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.
Run Code Online (Sandbox Code Playgroud)

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

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

D-s*_*ide 8

这并不容易(与Heroku工具带一样),但它是可能的.它涉及到至少悬挂在Heroku仪表板周围,因此请确保您可以访问它.

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

ssh-keygen -t rsa
Run Code Online (Sandbox Code Playgroud)

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

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

ssh-rsa aWhOLELotofUnreadABLEGibbERishWHiCHiSactUALLyYourPubLIcKeY...
Run Code Online (Sandbox Code Playgroud)

您需要在Herkeys仪表板的SSH密钥下输入该行到您的帐户设置中.您可以在Heroku docs中找到关于键的更多信息.确保Heroku通过发出以下内容实际识别您:

ssh -v git@heroku.com
Run Code Online (Sandbox Code Playgroud)

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

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

git remote add heroku git@heroku.com:falling-wind-1624.git
Run Code Online (Sandbox Code Playgroud)

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

git push heroku master
Run Code Online (Sandbox Code Playgroud)

我在上面命名了一个Heroku遥控器heroku,这就是为什么我在heroku这里使用名字,你可以随意命名,然后使用它.一旦你推动了代码,剩下的就由你决定了.