使用Jenkins中的execute shell命令在Windows机器上运行git命令

时间:2016-01-26 15:56:08

标签: windows git shell jenkins cygwin

我需要运行一个bash脚本,定期删除旧的git分支。我无法通过execute shell选项找到连接到git repo的方法。

目前我正在使用cygwin来运行git命令。以下是我在执行shell中的内容:

#!c:\cygwin64\bin\bash --login
git ls-remote git@10.1.1.126:/external-web/collette-com.git 

此命令引发以下错误。

[Delete Branches] $ c:\cygwin64\bin\bash --login 

C:\Users\tbraga\AppData\Local\Temp\hudson5750784484659728632.sh
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Build step 'Execute shell' marked build as failure

我尝试在命令行中运行此命令,并提示输入密码。这可能是问题吗?

我在Jenkins中配置了git插件,使用源代码管理Git时连接完美无缺。

有关如何使这种连接在执行shell字段中工作的任何建议将不胜感激。

3 个答案:

答案 0 :(得分:1)

我通过Jenkins中的Credentials Binding Plugin将我的凭据传递给我的执行shell脚本来解决了这个问题

答案 1 :(得分:0)

创建与用户关联的SSH密钥非常简单。

在此尝试:https://confluence.atlassian.com/bitbucketserver/creating-ssh-keys-776639788.html

将密钥放在%userprofile%/。ssh下,然后再次尝试运行它。

您还可以使用Jenkins配置中使用的相同凭据

答案 2 :(得分:0)

我使用SSH密钥对Github进行身份验证并遇到了同样的问题。我的Jenkins配置有EC2从站,因此机器上的默认SSH密钥对Github不正确。

我用SSH Agent Plugin修复了它。在作业中,启用“SSH代理”设置并选择存储的SSH密钥以进行Github身份验证。它应该与用于克隆repo的Git-SCM配置选择相同。