超级令人沮丧,因为这是我的一个Windows奴隶,但不是这一个 - 我找不到任何配置差异。
在工作的奴隶上我看到了:
[Pipeline] checkout
Cloning the remote Git repository
Cloning repository git@bitbucket.org:myteam/myapp.git
> git init C:\Jenkins\workspace\test-slave123456 # timeout=10
Fetching upstream changes from git@bitbucket.org:myteam/myapp.git
> git --version # timeout=10
using GIT_SSH to set credentials mygitcreds
> git fetch --tags --progress git@bitbucket.org:myteam/myapp.git +refs/heads/*:refs/remotes/origin/* # timeout=45
> git config remote.origin.url git@bitbucket.org:myteam/myapp.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url git@bitbucket.org:myteam/myapp.git # timeout=10
Fetching upstream changes from git@bitbucket.org:myteam/myapp.git
using GIT_SSH to set credentials mygitcreds
> git fetch --tags --progress git@bitbucket.org:myteam/myapp.git +refs/heads/*:refs/remotes/origin/* # timeout=45
> git rev-parse "origin/test-slave^{commit}" # timeout=10
Checking out Revision 30f11ef09ab13f73fb9a6b75983e1bf32437f51d (origin/test-slave)
Enabling Git LFS pull
> git config core.sparsecheckout # timeout=10
> git checkout -f 30f11ef09ab13f73fb9a6b75983e1bf32437f51d # timeout=45
> git config --get remote.origin.url # timeout=10
using GIT_SSH to set credentials mygitcreds
> git lfs pull origin # timeout=45
Commit message: "test slave"
> git rev-list --no-walk 30f11ef09ab13f73fb9a6b75983e1bf32437f51d # timeout=10
但对失败的奴隶来说:
[Pipeline] checkout
Cloning the remote Git repository
Cloning repository git@bitbucket.org:myteam/myapp.git
> git init C:\Jenkins\workspace\test-slave123456 # timeout=10
Fetching upstream changes from git@bitbucket.org:myteam/myapp.git
> git --version # timeout=10
using GIT_SSH to set credentials mygitcreds
> git fetch --tags --progress git@bitbucket.org:myteam/myapp.git +refs/heads/*:refs/remotes/origin/* # timeout=45
ERROR: Error cloning remote repo 'origin'
hudson.plugins.git.GitException: Command "git fetch --tags --progress git@bitbucket.org:myteam/myapp.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout:
stderr: gituserfromcredbinding@bitbucket.org: Permission denied (publickey).
fatal: Could not read from remote repository.
它的相同管道作业,相同的仓库,相同的信誉,并且奴隶应该配置相同,但是当我将代理更改为指向另一个奴隶时,它无法克隆。
在工作的奴隶上我所要做的就是为windows安装git(关闭windows cred store),安装java,然后运行jnlp jar。
试图对非工作的奴隶做同样的事情所以我不知道为什么那个人会失败。
答案 0 :(得分:0)
Bitbucket无法在无法正常工作的奴隶身上对您进行身份验证。
原因可能是:
如果信誉等一切都相同,您可以尝试:
1.复制工作从站中“known_hosts”文件中的密钥。
2.将上面步骤1中复制的密钥粘贴到非工作从站的“known_hosts”文件中。
如果两个奴隶中的键也相同,请尝试:
ssh到非工作的slave并手动尝试克隆一次。原因是,如果您之前从未使用过该奴隶(非工作),那么它可能会要求:“主机的真实性,您确定要继续连接(是/否)”,你必须说是的,只有一次。
答案 1 :(得分:0)
我将git bash从版本:2.22.0更改为版本:2.12.0(然后选择“启用Windows凭据存储”),Windows从设备再次工作