String d = "docs/tutorials/jenkins/ansible-kubernetes"

pipeline {
  agent any
  parameters {
    choice(name: 'ANIMAL', choices: ['cat', 'cow', 'dog', 'lion', 'pig'], description: 'Tag to use for deployment image')
  }
  stages {
    stage("deploy") {
      agent {
        dockerfile {
          dir "$d"
          reuseNode true
        }
      }
      environment {
        K8S_AUTH_KUBECONFIG = credentials('kubeconfig')
        KUBECONFIG = credentials('kubeconfig')
      }
      steps {
        sh """
          ansible-playbook $d/deploy-to-kubernetes.yml --extra-vars "animal=${params.ANIMAL}"
          ./$d/wait-until-service-up.sh
        """
      }
    }
  }
}
