-
Bug
-
Resolution: Unresolved
-
Major
-
Jenkins Server: Windows 2012 R2, Jenkins 2.263.4, ssh-agent-plugin 1.22
Agents: jenkins/inbound-agent:4.3-4 Docker container running under Kubernetes client version 1.16.8 and server version 1.17.5.
This Jenkinsfile:
pipeline {
agent {
kubernetes {
label '********-' + UUID.randomUUID().toString()
yaml """
apiVersion: v1
kind: Pod
spec:
securityContext:
runAsUser: 0
fsGroup: 0
containers:
- name: aws
image: amazon/aws-cli
tty: true
command: ["cat"]
- name: docker
image: docker:stable-git
tty: true
command: ["cat"]
volumeMounts:
- mountPath: /var/run/docker.sock
name: docker-socket
volumes:
- name: docker-socket
hostPath:
path: /var/run/docker.sock
"""
}
}
parameters {
string(name: 'SOURCE_BRANCH', defaultValue: '*********', description: '**********')
}
environment {
DEPLOY_SOURCE = "git@bitbucket.org:***********/************.git"
}
stages {
stage('SSH Prep') {
steps {
container('docker') {
sh 'mkdir -p ~/.ssh && chmod 700 ~/.ssh'
sh 'for i in 1 2 3 4 5; do ssh-keyscan -t rsa bitbucket.org >> ~/.ssh/known_hosts && break; done'
sh 'ssh-keyscan -t rsa ************* >> ~/.ssh/known_hosts'
}
}
}
stage('Clone Source') {
steps {
container('docker') {
sshagent (credentials: ['id_rsa_to_bitbucket_org']) {
sh 'git clone -b $SOURCE_BRANCH $DEPLOY_SOURCE source'
}
}
}
}
}
}
times out on the ssagent step:
[Pipeline] container
[Pipeline] {
[Pipeline] sshagent
[ssh-agent] Using credentials ******** (******** Private Key (for Git to Bitbucket Server).)
[ssh-agent] Looking for ssh-agent implementation...
ERROR: Timeout after 1 minutes
[ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine)
Executing sh script inside container docker of pod ********-ca487127-2c12-4fa4-bef6-db46df3736ec-gvnmh-w1927
Executing command: "ssh-agent"
exit
: No such file or directory
sh: exit
: not found
ERROR: Timeout after 1 minutes
[ssh-agent] FATAL: Could not find a suitable ssh-agent provider
[ssh-agent] Diagnostic report
[ssh-agent] * Exec ssh-agent (binary ssh-agent on a remote machine)
[ssh-agent] java.lang.StringIndexOutOfBoundsException: begin 13, end -1, length 50
[ssh-agent] at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3319)
[ssh-agent] at java.base/java.lang.String.substring(String.java:1874)
[ssh-agent] at com.cloudbees.jenkins.plugins.sshagent.exec.ExecRemoteAgent.getAgentValue(ExecRemoteAgent.java:156)
(full stack trace omitted for brevity).
However, this only happens when Jenkins server is running on Windows 2012 R2. When the Jenkins server runs on Linux (I believe Ubuntu), the sshagent command succeeds.
I've attached the Kubernetes .yml file for the Jenkins agent, and the full output from Jenkins.