git - 团队城市 Git "Host key verification failed"

标签 git teamcity git-bash git-push

我想使用 TeamCity 从远程 Git 存储库中提取代码,更新文件(暂存并提交到本地存储库),然后将提交的文件推送回远程存储库。

pull 和更新没问题。如果我打开 git-bash 和 git push origin master 然后提交(由提交到本地仓库的更新文件引起)被推送到远程仓库。很好。

如果我尝试使用 Team City 的命令行运行器执行此操作(对同一个远程目标存储库),它会失败

    [14:49:18][Step 3/7] Host key verification failed.
    [14:49:18][Step 3/7] fatal: Could not read from remote repository.

目标存储库使用 Gerrit 进行身份验证。我已将公钥上传到 Gerrit,并且已确认来自 Gerrit 的服务器主机 key 位于 C:\Users\AccountName\.ssh\known_hosts 中。该文件夹还包含公钥和私钥。

我可以使用 git-bash 进行推送这一事实告诉我 key 位于正确的位置,但我对为什么 Team City Command Line runner 不使用它们感到困惑。

对于 ref,构建步骤的命令参数是 -c "git push origin master"

谁能看到我错过了什么?

谢谢

最佳答案

您必须将 TeamCity 服务设置为以有权访问您的 key 的同一帐户运行。默认情况下,TeamCity 使用“系统”帐户,因此您的 key 未被使用。

关于git - 团队城市 Git "Host key verification failed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37971867/

相关文章:

teamcity - 如何使用 TeamCity AssemblyInfo Patcher 构建功能,但排除 SVN Externals 也被修补?

bitbucket - 如何使 Bitbucket POST webhook 连接到 TeamCity?

python - Pipenv 与 conda ?

git - 将 Ubuntu 终端更改为类似于 Window 的 Git-bash

git - 与其他服务器相比,Team Foundation Server 的分支特征

git - 将 SSH 用户限制为 shell 命令

git - 查找 git 提交的直接祖先( parent ?)

git svn fetch 为分支多次检索相同的 Subversion 修订版

git - TeamCity:成功构建推送到 Git Repo

sockets - 在git bash中杀死一个进程