pipeline { agent { label "swarm" } environment { DOCKER_REGISTRY='dev-registry.infoclinica.ru:5000' DOCKER_IMAGE='bind' SERVICE_NAME='bind' SWARM_GIT_URL='ssh://git@git.sdsys.ru:8022/iru/stack-deploy.git' SWARM_GIT_NAME='stack-deploy' OVPN_GIT_URL='ssh://git@git.sdsys.ru:8022/iru/openvpn.git' OVPN_GIT_NAME='openvpn' BIND_GIT_URL='ssh://git@git.sdsys.ru:8022/sdsys/bind.git' JENKINS_MAIL='jenkins.dev@sdsys.ru' SMTP_SERVER='mail.sdsys.ru' } stages { stage("PULL REPOs") { steps { echo "Pull repo ${SWARM_GIT_NAME}" withCredentials([sshUserPrivateKey(credentialsId: 'provision', keyFileVariable: 'GIT_SSH_KEY', passphraseVariable: '', usernameVariable: 'GIT_SSH_USERNAME')]) { sh '''GIT_SSH_COMMAND='ssh -i ${GIT_SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \ git clone ${SWARM_GIT_URL}''' } echo "Pull repo ${OVPN_GIT_NAME}" withCredentials([sshUserPrivateKey(credentialsId: 'provision', keyFileVariable: 'GIT_SSH_KEY', passphraseVariable: '', usernameVariable: 'GIT_SSH_USERNAME')]) { sh '''GIT_SSH_COMMAND='ssh -i ${GIT_SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \ git clone ${OVPN_GIT_URL}''' } } } stage("Generate zone-files") { steps { echo "Generate ptr-zones" sh '''serial=$(cat ${WORKSPACE}/${SWARM_GIT_NAME}/tags/bind.version) ${WORKSPACE}/generate_ptr.sh 201 ${serial} ${WORKSPACE}/generate_ptr.sh 204 ${serial} cat ${WORKSPACE}/201.168.192.in-addr.arpa.zone cat ${WORKSPACE}/204.168.192.in-addr.arpa.zone ''' echo "Generate infoclinica-zone" sh '''serial=$(cat ${WORKSPACE}/${SWARM_GIT_NAME}/tags/bind.version) ${WORKSPACE}/generate_zone.sh ${serial} cat ${WORKSPACE}/infoclinica.lan.zone ''' } } } post { always { echo "CleaningUp work directory" deleteDir() } failure { mail charset: 'UTF-8', subject: "Jenkins build ERROR", mimeType: 'text/html', to: "${mailto}", body: "<b>ATTENTION!!!</b> <b><br> Jenkins job failed.\n\n <b><br>Project Name:</b> ${env.JOB_NAME} <b><br>\nBuild Number:</b> ${env.BUILD_NUMBER} <b><br>\nURL Build:</b> ${RUN_DISPLAY_URL}" } aborted { mail charset: 'UTF-8', subject: "Jenkins build ERROR", mimeType: 'text/html', to: "${client_mail}", body: "<b>ATTENTION!!!</b> <b><br> Jenkins job aborted.\n\n <b><br> The CNAME ${key_name} is already exists!\n\n <b><br>Project Name:</b> ${env.JOB_NAME} <b><br>\nBuild Number:</b> ${env.BUILD_NUMBER} <b><br>\nURL Build:</b> ${RUN_DISPLAY_URL}" } } }