pipeline {
  environment {
    registry = 'https://registry.hub.docker.com'
    registryCredential = 'dockerhub_jcabillot'
    dockerImage = 'jcabillot/ip:arm64'
  }

  //agent any
  agent {
    kubernetes {
      defaultContainer 'docker' // All `steps` instructions will be executed by this container
      yamlFile 'Jenkinsfile-pod-template.yml'
    }
  }

  triggers {
    cron('@midnight')
  }

  stages {
    stage('Clone repository') {
      steps{
        container('jnlp') {
          checkout scm
        }
      }
    }

    stage('Build image') {
      steps{
        sh 'docker build --build-arg VERSION=arm64 --force-rm=true --no-cache=true --pull -t ${dockerImage} .'
      }
    }

    stage('Deploy Image') {
      steps{
        script {
          withCredentials([usernamePassword(credentialsId: 'dockerhub_jcabillot', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) {
            sh 'docker login --username ${DOCKER_USER} --password ${DOCKER_PASS}'
            sh 'docker push ${dockerImage}'
          }
        }
      }
    }
  }
}
