如何在Heroku上启动我的Play 2.1应用程序

时间:2013-06-13 14:55:16

标签: heroku playframework-2.0

我正在尝试在Heroku上启动Play 2.1应用程序,但我不知道如何在一个dyno上启动它。我正在尝试将“演示”应用从“ SecureSocial ”部署到Heroku。我使用IntelliJ-IDEA Heroku插件将我的项目上传到Heroku。我正在使用建议的“ Procfile ”,但我不知道如何让Heroku启动dyno。它表现得像它不会开始,我不知道如何解决它。

我的Procfile(在我的项目的根目录中)包含:

web: target/start -Dhttp.port=$PORT -DapplyEvolutions.default=true -Ddb.default.driver=
  org.postgresql.Driver -Ddb.default.url=$DATABASE_URL

也许我实际上没有将我的代码上传到Heroku,但我认为我有?我该怎么说? Heroku似乎不允许我浏览代码。

我的IntelliJ-IDEA Heroku plugin能够创建Heroku在线项目,因此我认为没有理由不应该将代码推送到“ heroku master ”。我现在遇到的一个问题是命令行git push失败:

C:\IntelliJ IDEA 12.1.4\workspace\signup-sheet>git remote -v
heroku  git@heroku.com:signup-sheet.git (fetch)
heroku  git@heroku.com:signup-sheet.git (push)
origin  https://github.com/djangofan/signup-sheet.git (fetch)
origin  https://github.com/djangofan/signup-sheet.git (push)

C:\IntelliJ IDEA 12.1.4\workspace\signup-sheet>heroku login
Enter your Heroku credentials.
Email: djangofan@gmail.com
Password (typing will be hidden):
Authentication successful.

C:\IntelliJ IDEA 12.1.4\workspace\signup-sheet>heroku create
Creating nameless-depths-2834... done, stack is cedar
http://nameless-depths-2834.herokuapp.com/ | git@heroku.com:nameless-depths-2834.git

C:\IntelliJ IDEA 12.1.4\workspace\signup-sheet>git push heroku master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
C:\IntelliJ IDEA 12.1.4\workspace\signup-sheet>heroku releases
=== signup-sheet Releases
v2  Enable Logplex   djangofan@gmail.com  2013/06/12 21:37:43 (~ 10h ago)
v1  Initial release  djangofan@gmail.com  2013/06/12 21:37:42 (~ 10h ago)

2 个答案:

答案 0 :(得分:1)

按此行

Permission denied (publickey).
fatal: Could not read from remote repository.

与您的Heroku git存储库关联的公钥似乎存在问题。这个question有你想要的答案。

答案 1 :(得分:1)

虽然您只能使用Heroku帐户创建Heroku应用程序,但在将公钥添加到Heroku之前,您无法部署任何代码。您可以使用Heroku工具带(http://toolbelt.heroku.com/)和以下命令判断是否添加了密钥:

heroku keys

如果列出了多个键,或者不知道哪个键是正确的键,则可以清除所有键并添加您知道正确的键。如果您只有一个密钥,那么您不需要指定它。

heroku keys:clear
heroku keys:add /path/to/public/key/for/heroku.pub

如果您的密钥被调用而不是id_rsa.pub,那么您可能需要创建一个SSH配置文件来定义哪个密钥应该用于Heroku

Host heroku.com
Hostname heroku.com
Port 22
IdentitiesOnly yes
IdentityFile ~/.ssh/heroku  # or what ever you called the public key
TCPKeepAlive yes
user name@email-address.com  # include the email address used for your heroku account

您现在应该能够将代码推送到Heroku,从而创建一个“部署”版本,例如:

V6部署53u883u

谢谢