Same issue here with a declarative pipline.
Jenkins version: 2.190.1
Kubernetes plugin: 1.20.1
I've created a pod template under Cloud section on the ui. With the following options:
Pod Template::
Name: jenkins-builder
...
Container Template ::
Name: my-jnlp
Docker image: jenkins/jnlp-slave:latest
Working directory: /home/jenkins/agent
...
...
Workspace Volume: PVC
Claim name: jenkins-slave-claim
Then created this basic pipline:
pipeline {
agent {
kubernetes {
defaultContainer 'my-jnlp'
yaml """
apiVersion: v1
kind: Pod
metadata:
name: jenkins-builder
spec:
containers:
- name: busybox
image: busybox
command:
- cat
tty: true
"""
}
}
stages {
stage('start') {
steps{
container('busybox'){
sh "ls"
}
}
}
}
}
In the console I always get the default jnlp container:
apiVersion: "v1"
kind: "Pod"
metadata:
annotations:
buildUrl: "http:
labels:
jenkins: "slave"
jenkins/test_20-s37fr: "true"
name: "test-20-s37fr-xq14x-z8rq5"
spec:
containers:
- command:
- "cat"
image: "busybox"
name: "busybox"
tty: true
volumeMounts:
- mountPath: "/home/jenkins/agent"
name: "workspace-volume"
readOnly: false
- command:
- "cat"
image: "maven:3-alpine"
name: "builder-new"
tty: true
volumeMounts:
- mountPath: "/home/jenkins/agent"
name: "workspace-volume"
readOnly: false
- env:
- name: "JENKINS_SECRET"
value: "********"
- name: "JENKINS_TUNNEL"
value: "jenkins-agent.default.svc.k8s.si.net:50000"
- name: "JENKINS_AGENT_NAME"
value: "test-20-s37fr-xq14x-z8rq5"
- name: "JENKINS_NAME"
value: "test-20-s37fr-xq14x-z8rq5"
- name: "JENKINS_AGENT_WORKDIR"
value: "/home/jenkins/agent"
- name: "JENKINS_URL"
value: "http:
image: "jenkins/jnlp-slave:alpine"
name: "jnlp"
volumeMounts:
- mountPath: "/home/jenkins/agent"
name: "workspace-volume"
readOnly: false
nodeSelector: {}
restartPolicy: "Never"
volumes:
- emptyDir:
medium: ""
name: "workspace-volume"
So it's not what I'd like to see. I cannot find out how I can use my Pod with the PVC.
I cannot workaround this with JENKINS-56375 unfortunately.
I tried with custom image didn't work so given jenkins-jnlp official image even didn't work
using this on scripted pipeline
node('eks-cluster') {
stage('Check jnlp') {
sh 'rm -rf *'