1

所以我制作了一个简单的 Sinatra/Ruby 应用程序,可以在我的本地主机上运行。我有一个试图发布我的应用程序的 heroku 帐户。在我的学习过程中,我遇到了很多行话,比如:git、push、repo、branches 等。老实说,我不知道这些是什么意思。

现在,我只想发布我的简单应用程序并让它运行/分享给我在克罗地亚的朋友!

Heroku 是主机,Git 是版本控制系统。2是怎么连接的?

现在我需要发布我的第一个 happ 并查看它使用所需的命令运行,以便我了解它是如何工作的。

有什么帮助吗?

4

2 回答 2

0

首次使用 Heroku 时,在将应用程序部署到 Heroku 之前,需要执行几个简单的步骤。

1) 在 Heroku https://go.heroku.com/上创建一个帐户并下载 Heroku Toolbelt https://toolbelt.heroku.com/

2) 使用 Heroku 进行身份验证并使用以下命令上传公钥:

heroku login

如果您没有公钥,上述命令会询问您是否要创建一个。说是,Heroku 将生成一个新密钥。

如果您愿意,您还可以生成自己的公钥并使用 heroku keys:add 命令添加该密钥。使用公钥是使用 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 所示。

谢谢你。

于 2013-08-07T14:29:03.320 回答
0

根据原发帖人的评论:

但我被困在这一点上,输入后git push heroku master我收到此错误:

权限被拒绝(公钥)。致命:无法从远程存储库中读取。请确保您具有正确的访问权限并且存储库存在。

听起来您可能没有为 Heroku 设置 SSH 密钥。您可以在管理您的 SSH 密钥中找到相关说明。以下是说明告诉您的操作:

1. 生成公钥

$ 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保密,即使没有密码,您的密钥也将是安全的。

2. 向 Heroku 添加密钥

第一次运行该heroku命令时,系统会提示您输入凭据。然后,您的公钥将自动上传到 Heroku。这将允许您将代码部署到所有应用程序。

一个常见的关键错误是:Permission denied (publickey). 您可以通过使用keys:add通知 Heroku 您的新密钥来解决此问题。

于 2013-07-21T14:33:28.633 回答