我需要运行一个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字段中工作的任何建议将不胜感激。
答案 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配置选择相同。