diff --git a/Jenkinsfile b/Jenkinsfile index b308626..cfe97e6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,6 +1,7 @@ pipeline { agent { - label 'jnlp' + label 'kubernetes' + yamlfile 'podTemplate.yaml' } environment { diff --git a/podTemplate.yaml b/podTemplate.yaml new file mode 100644 index 0000000..0514d8c --- /dev/null +++ b/podTemplate.yaml @@ -0,0 +1,57 @@ +apiVersion: v1 +kind: Pod +metadata: + labels: + jenkins: "slave" + jenkins/label: "kubernetes-agent" +spec: + containers: + - name: jnlp + image: jenkins/inbound-agent:alpine + tty: false + workingDir: /home/jenkins/agent + volumeMounts: + - name: workspace-volume + mountPath: /home/jenkins/agent + env: + - name: JENKINS_WEB_SOCKET + value: "true" + - name: REMOTING_OPTS + value: "-noReconnectAfter 1d" + + - name: python + image: python:3.11.7-alpine + command: + - cat + tty: true + workingDir: /home/jenkins/agent + volumeMounts: + - name: workspace-volume + mountPath: /home/jenkins/agent + + - name: docker + image: docker:dind + command: + - dockerd-entrypoint.sh + args: + - "-H" + - "tcp://0.0.0.0:2375" + tty: true + workingDir: /home/jenkins/agent + securityContext: + privileged: true + env: + - name: DOCKER_TLS_CERTDIR + value: "" + volumeMounts: + - name: workspace-volume + mountPath: /home/jenkins/agent + + nodeSelector: + kubernetes.io/os: linux + + restartPolicy: Never + + volumes: + - name: workspace-volume + emptyDir: {}