我想使用 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/