#!groovy pipeline { agent { kubernetes { defaultContainer 'jnlp' yaml """ apiVersion: v1 kind: Pod metadata: name: deploy-arm64-image-build spec: serviceAccountName: jenkins-admin nodeSelector: kubernetes.io/arch: arm64 containers: - name: kaniko image: gcr.io/kaniko-project/executor:debug command: ["tail"] args: ["-f", "/dev/null"] volumeMounts: - name: kaniko-secret mountPath: /kaniko/.docker restartPolicy: Never volumes: - name: kaniko-secret secret: secretName: dockercred items: - key: .dockerconfigjson path: config.json """ } } stages { stage('Docker Build and Push') { steps { container("kaniko") { sh """ destinationRegistry=`sed -n 's/^destinationRegistry=\\(.*\\)/\\1/p' < config.conf` imageName=`sed -n 's/^imageName=\\(.*\\)/\\1/p' < config.conf` imageTag=`sed -n 's/^imageTag=\\(.*\\)/\\1/p' < config.conf` /kaniko/executor --dockerfile `pwd`/Dockerfile --context `pwd` --destination $destinationRegistry/$imageName:$imageTag """ } } } } }