pipeline { environment { APP_NAME = 'xaibox' WORKDIR = 'dockerfiles/services/nextcloud' } agent { label 'docker' } options { buildDiscarder(logRotator(numToKeepStr: '2')) } triggers { cron('@monthly') } stages { stage('prepare') { steps { checkout scm sh 'ls' } } stage('build') { options { ansiColor('xterm') timeout(5) } steps { dir(WORKDIR) { withDockerRegistry(credentialsId: 'b11d7f1a-81ac-4daf-8842-56afc0d2370e', url: 'http://dkregistry.xai-corp.net:5000') { sh "pwd" sh "xai build" } } } } stage('deploy') { options { ansiColor('xterm') timeout(5) } steps { dir(WORKDIR) { withDockerRegistry(credentialsId: 'b11d7f1a-81ac-4daf-8842-56afc0d2370e', url: 'http://dkregistry.xai-corp.net:5000') { sh "xai deploy" } } } post { failure { dir(WORKDIR) { withDockerRegistry(credentialsId: 'b11d7f1a-81ac-4daf-8842-56afc0d2370e', url: 'http://dkregistry.xai-corp.net:5000') { // sh "xai rollback" } } } } } } post { always { emailext attachLog: true, body: "Job completed: \n ${JOB_URL}", subject: "Jenkins: Job: $JOB_NAME $BUILD_DISPLAY_NAME", to: 'r_morgan@sympatico.ca' } unsuccessful { emailext attachLog: true, body: "Job failed to complete: \n ${JOB_URL}", subject: "Jenkins: Job Failed: $JOB_NAME $BUILD_DISPLAY_NAME ", to: 'r_morgan@sympatico.ca' } changed { emailext attachLog: true, body: 'Job failed to complete:', subject: "Jenkins: Job Failed: $JOB_NAME $BUILD_DISPLAY_NAME", to: 'r_morgan@sympatico.ca' } } }