所以我制作了一个简单的Sinatra / Ruby应用程序,我可以在我的localhost上运行。我有一个heroku帐户试图发布我的应用程序。通过我的学习过程,我遇到了很多行话,比如:git,push,repo,branches等。说实话,我不知道这些是什么意思。
现在,我只想发布我的简单应用程序并让它与我在克罗地亚的朋友一起运行/分享!
Heroku是主机,Git是版本控制系统。 2如何连接?
现在我需要发布我的第一个快乐并看到它运行所需的命令,以便我知道这个东西是如何工作的。
有任何帮助吗?
答案 0 :(得分:0)
根据原始海报的评论:
但是在我点击
git push heroku master
之后我就陷入了这个错误:权限被拒绝(publickey)。致命:无法从远程存储库读取。请确保您拥有正确的访问权限并且存储库已存在。
听起来您可能没有为Heroku设置SSH密钥。您可以在Managing Your SSH Keys找到相关说明。以下是指示告诉您的操作:
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/adam/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/adam/.ssh/id_rsa.
Your public key has been saved in /Users/adam/.ssh/id_rsa.pub.
The key fingerprint is:
a6:88:0a:0b:74:90:c6:e9:d5:49:d6:e3:04:d5:6c:3e adam@workstation.local
在第一个提示符处按Enter键以使用默认文件位置。您可能希望为密钥提供密码,但这不是必需的 - 如果您的工作站在物理上是安全的并且不被您以外的任何人使用,请在两个提示下按Enter键以使密码无效。只要您保密
~/.ssh/id_rsa
的内容,即使没有密码,您的密钥也会安全。
首次运行
heroku
命令时,系统会提示您输入凭据。然后,您的公钥将自动上传到Heroku。这将允许您将代码部署到所有应用程序。常见的密钥错误是:
Permission denied (publickey)
。您可以使用keys:add
通知Heroku新密钥来解决此问题。
答案 1 :(得分:0)
首次使用Heroku时,在Heroku上部署应用程序之前,需要执行几个简单的步骤。
1)在Heroku https://go.heroku.com/上创建一个帐户并下载Heroku Toolbelt https://toolbelt.heroku.com/
2)使用Heroku对自己进行身份验证并使用以下命令上传公钥:
heroku login
如果您没有公钥,上面的命令会询问您是否要创建公钥。说是,Heroku将生成一个新密钥。
您还可以生成自己的公钥并使用heroku密钥:如果您愿意,可以添加命令添加该密钥。使用公共密钥是使用Git的服务的常见做法,例如Github。
3)创建应用程序代码(例如,Java,Node.js,Scala,Clojure,Ruby,Rails,Python,Django)
4)使用带命令的git版本化您的应用程序代码:
git init
git add .
git commit -m "new project created"
注意git add。将添加所有内容,您可以使用特定的文件名或文件名模式而不是完全停止更具选择性。
5)在Heroku上为您的应用程序创建一个位置。这将创建一个远程存储库,用于将代码推送到应用程序的URL。
heroku create
6)将您的应用程序部署到Heroku。由于Heroku使用Git将代码从本地计算机复制到Heroku服务器,因此使用Git命令将您在本地提交的提交推送到Heroku。
git push heroku master
7)根据您运行应用程序的方式,您可能还需要定义一个名为Procfile的文本文件,该文件指定运行应用程序的命令。
https://devcenter.heroku.com/articles/procfile
成功部署应用程序后,您需要做的就是在本地提交更改并将其推送到Heroku,如步骤4和步骤6所示。
谢谢。