Супер расстраивает, потому что это работает на одном из моих ведомых окон, но не на этом - и я не могу найти никаких различий в конфигурации.
На работающем рабе я вижу это:
[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.
То же самое конвейерное задание, то же репо, те же кредиты и ведомое устройство должны быть настроены одинаково, но когда я меняю агента, чтобы он указывал на другого ведомого, он не может клонировать.
На работающем подчиненном устройстве все, что мне нужно было сделать, это установить git для windows (отключить хранилище кредитов windows), установить java, а затем запустить jnlp jar.
Пытался сделать то же самое на неработающем рабе, поэтому я не знаю, почему это может быть неудачным.