【问题标题】:Teamcity deploy to HerokuTeamcity 部署到 Heroku
【发布时间】:2012-01-09 10:37:45
【问题描述】:

我正在尝试将应用程序从 teamcity 上的 git 部署到 Heroku,但我不断收到以下信息:

Step 2/2: Deploy to Heroku (Command Line)
[22:48:15]: [Step 2/2] Starting: git push git@heroku.com:HEROKUPROJECTNAME.git master
[22:48:15]: [Step 2/2] in directory: /home/teamcity/TeamCity/buildAgent/work/c5d161aeb8cf26ed
[22:48:16]: [Step 2/2] Host key verification failed.
[22:48:16]: [Step 2/2] fatal: The remote end hung up unexpectedly
[22:48:16]: [Step 2/2] Process exited with code 128
[22:48:16]: [Step 2/2] Step Deploy to Heroku (Command Line) failed

我确实设置了密钥。公钥在 heroku 中设置。这是我的 ssh 配置文件的样子:

# Heroku forproject
Host heroku.com
HostName heroku.com
User teamcity
IdentitiesOnly yes
IdentityFile /home/teamcity/.ssh/teamcity_project_rsa

你们有什么想法或建议吗?

【问题讨论】:

  • 您是否尝试手动从构建代理推送到 Heroku?
  • 我的意思是从命令行运行命令“git push git@heroku.com:HEROKUPROJECTNAME.git master”,而不是从构建脚本,所以我们可以了解它是否是 TeamCity 故障。

标签: ruby deployment ssh heroku teamcity


【解决方案1】:

您正在尝试从未经身份验证的本地主机执行推送。

检查:

heroku keys

您应该通过输入以下命令从 heroku 控制台授予您的公钥(假设您是 HEROKUPROJECTNAME 的管理员):

heroku keys:add

也可以在这里查看:http://devcenter.heroku.com/articles/keys

【讨论】:

  • 我确实做到了。我添加了我的密钥。有趣的是它在终端上工作。我什至部署了 teamcity 试图推送的文件夹,它可以从终端运行。 Just teamcity 无法部署到 heroku。
  • 是否有可能在终端中您确实使用了与运行 TeamCity 构建代理的用户不同的用户?
  • 在 url 中使用用户 git 推送,在 ssh 配置中使用用户 teamcity 可以吗?
  • 所以它可以从终端运行,我尝试将 TeamCity 中的用户更改为“teamcity”而不是“git”,但我仍然遇到同样的错误。
  • 我不确定你是否怀疑。假设 git 不关心本地主机用户身份:值得的是,您的 ssh 公钥是在您尝试推送的远程仓库上授予的。可能是由 teamcity 启动的进程充当另一个用户(并且由于使用不同的 ssh 凭据)与您在终端上使用的凭据不同,请尝试检查它...
猜你喜欢
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 2021-09-23
  • 2019-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多