Files
provisioning/dockerfiles/services/dkregistry/Jenkinsfile

64 lines
1.6 KiB
Groovy

pipeline {
environment {
WORKDIR = 'dockerfiles/services/dkregistry'
DOCKER_HOST = 'dkhost:2376'
}
agent { label 'docker' }
options {
buildDiscarder(logRotator(numToKeepStr: '2'))
}
triggers {
cron('@weekly')
}
stages {
stage('prepare') {
steps {
checkout scm
sh 'ls'
}
}
stage('build') {
steps {
dir(WORKDIR) {
sh "DOCKER_HOST=${DOCKER_HOST} docker-compose -f docker-compose.yml pull"
}
}
}
stage('deploy') {
steps {
dir(WORKDIR) {
sh """
export DOCKER_HOST=${DOCKER_HOST}
docker stack deploy --with-registry-auth --prune -c docker-compose.yml dkregistry
(cd ../ && chmod +x ./scaleout.sh && ./scaleout.sh dkregistry_registry 180)
"""
}
}
}
stage('smoke tests') {
steps {
dir(WORKDIR) {
sleep 60
sh "curl -If http://dkhost:5000"
}
}
post {
failure {
dir(WORKDIR) {
sh """
export DOCKER_HOST=${DOCKER_HOST}
docker service rollback dkregistry_registry
"""
}
}
}
}
}
}