fix registry credentials in sslproxy jenkinsfile

This commit is contained in:
2020-04-18 22:12:59 -04:00
parent e11bab1bc0
commit a1e799bff9

View File

@@ -1,47 +1,73 @@
node('docker') { pipeline {
def dockerfile = 'Dockerfile' environment {
def app_name = 'sslproxy' DOCKERFILE = 'Dockerfile'
def app_port = '80' APP_NAME = 'sslproxy'
def workdir = 'dockerfiles/services/sslproxy' APP_PORT = '80'
def DOCKER_HOST = 'dkhost:2376' WORKDIR = 'dockerfiles/services/sslproxy'
DOCKER_HOST = 'dkhost:2376'
}
agent { label 'docker' }
options {
buildDiscarder(logRotator(numToKeepStr: '2'))
}
triggers {
cron('@weekly')
}
stages {
stage('prepare') { stage('prepare') {
// git credentialsId: 'f1f58215-c789-44a2-9b72-50e4425cb061', url: 'ssh://git@git.xai-corp.net:10022/xai-corp.net/provisioning.git' steps {
checkout scm checkout scm
// git credentialsId: 'f1f58215-c789-44a2-9b72-50e4425cb061', url: 'ssh://git@git.xai-corp.net:10022/xai-corp.net/provisioning.git'
sh 'ls' sh 'ls'
} }
}
stage('build') { stage('build') {
dir(workdir) { steps {
dir(WORKDIR) {
script {
docker.withRegistry('http://dkregistry.xai-corp.net:5000', 'b11d7f1a-81ac-4daf-8842-56afc0d2370e') { docker.withRegistry('http://dkregistry.xai-corp.net:5000', 'b11d7f1a-81ac-4daf-8842-56afc0d2370e') {
def customImage = docker.build("dkregistry.xai-corp.net:5000/sslproxy:2.1", "-f ${dockerfile} .") def customImage = docker.build("dkregistry.xai-corp.net:5000/sslproxy:2.1", "-f ${DOCKERFILE} .")
customImage.push() customImage.push()
} }
}
// sh "docker-compose -f docker-compose-prod.yml pull" }
} }
} }
stage('deploy') { stage('deploy') {
dir(workdir) { steps {
try { dir(WORKDIR) {
sh """ sh """
export DOCKER_HOST=${DOCKER_HOST} export DOCKER_HOST=${DOCKER_HOST}
docker stack deploy --with-registry-auth --prune -c docker-compose-prod.yml sslproxy docker stack deploy --with-registry-auth --prune -c docker-compose-prod.yml sslproxy
docker service update -q sslproxy_app (cd ../ && chmod +x ./scaleout.sh && ./scaleout.sh sslproxy_app 30)
""" """
sleep 10
sh "curl -If https://git.xai-corp.net/"
} catch (err) {
echo "Caught: ${err}"
currentBuild.result = 'FAILURE'
sh 'docker service update --rollback sslproxy_app'
} }
} }
} }
stage('smoke tests') { stage('smoke tests') {
dir(workdir) { steps {
dir(WORKDIR) {
sleep 10
sh "curl -If https://git.xai-corp.net/"
} }
} }
post {
failure {
dir(WORKDIR) {
sh """
export DOCKER_HOST=${DOCKER_HOST}
docker service rollback sslproxy_app
"""
}
}
}
}
}
} }