pipeline {

  options {
    ansiColor('xterm')
  }

  agent {
    kubernetes {
      yamlFile 'builder.yaml'
    }
  }

  stages {

    stage('Kaniko Build & Push Image') {
      steps {
        container('kaniko') {
          script {
            sh '''
            /kaniko/executor --dockerfile `pwd`/Dockerfile.oc \
                             --context `pwd` \
                             --destination=registry.reymota.es/jugaralpadel:${BUILD_NUMBER}
            '''
          }
        }
      }
    }

    stage('Deploy App to Kubernetes') {
      steps {
        container('kubectl') {
          withCredentials([file(credentialsId: 'kubeconfig-imac', variable: 'KUBECONFIG')]) {
            sh 'sed -i "s/<TAG>/${BUILD_NUMBER}/" K8S/jugaralpadel-jenkins-deployment.yaml'
            sh 'kubectl delete -f K8S/jugaralpadel-jenkins-deployment.yaml'          
            sh 'kubectl apply -f K8S/jugaralpadel-jenkins-deployment.yaml'          
          }
        }
      }
    }

  }
}
