我怎样做git rebase和使用命令行从teamcity代理推送到远程分支

时间:2019-01-16 13:23:32

标签: git teamcity teamcity-9.0

我想在teamcity构建配置步骤中通过命令行脚本执行以下操作:

git rebase master
git push origin <branchname>:<remotebranchname>

在这种情况下,它不会在teamcity代理上创建特定的分支,因此不能确定分支名称是什么。但是只是运行

git push 

引发以下异常:

  

***请告诉我你是谁。   运行

     

git config --global user.email“ you@example.com”   git config --global user.name“您的名字”   设置您帐户的默认身份。   省略--global仅在此存储库中设置身份。

     

致命:无法自动检测电子邮件地址(获取了'root @ teamcity-xxxxxx(none)')

     

主机密钥验证失败。   致命:无法从远程存储库读取。   请确保您具有正确的访问权限,并且存储库存在。   进程退出,代码为128   进程退出,代码为128(步骤:命令行)   步骤命令行失败

1 个答案:

答案 0 :(得分:1)

Git推送不起作用,因为它需要与Git关联的sshkey。在上面的示例中,我之所以苦苦挣扎,是因为我没有一种方法来关联它的按键以使push命令起作用。

在teamcity中,有一个名为“ SSH代理”的构建功能,然后选择要与其关联的sshkey,以进行推送命令。添加完之后,git push命令开始工作。

此功能在构建配置->构建功能->添加构建功能->选择“ SSH代理”并选择上载的密钥时可用。这是已经在teamcity中上传的内容。