我想使用TeamCity从远程Git仓库中提取代码,更新文件(并暂存并提交到本地仓库),然后将提交的文件推送回远程仓库。
拉动&更新很好。如果我打开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的服务器主机密钥位于C:\Users\AccountName\.ssh\known_hosts
。该文件夹还包含公钥和私钥。
我可以使用git-bash推送的事实告诉我,键位于正确的位置,但我很困惑为什么Team City Command Line的跑步者没有使用它们。
对于ref,构建步骤的命令参数为-c "git push origin master"
。
有人能看到我错过的东西吗?
由于
答案 0 :(得分:1)
您必须将TeamCity服务设置为可以访问密钥的同一帐户运行。默认情况下,TeamCity使用" System"帐户,这就是为什么您的密钥没有被使用的原因。