Files
WorldCraft_Discord_Bot/Jenkinsfile
2020-11-14 12:30:49 +01:00

43 lines
1.2 KiB
Groovy
Raw Blame History

pipeline {
agent any
stages {
stage('Build Docker Image') {
steps {
sh 'docker build -t worldcraftdiscordbot:latest .'
sh "docker tag worldcraftdiscordbot:latest worldcraftdiscordbot:v${env.BUILD_ID}"
}
}
stage('Publish') {
steps {
sh '''if [ ! "$(docker ps -q -f name=worldcraftdiscordbot_1)" ]; then
if [ "$(docker ps -aq -f status=exited -f name=worldcraftdiscordbot_1)" ]; then
# cleanup
docker rm<72>worldcraftdiscordbot_1
fi
# run your container
NEW=worldcraftdiscordbot_1
OLD=worldcraftdiscordbot_2
docker run -d --name worldcraftdiscordbot_1 --restart unless-stopped worldcraftdiscordbot:v${env.BUILD_ID}
else [ ! "$(docker ps -q -f name=worldcraftdiscordbot_2)" ]; then
if [ "$(docker ps -aq -f status=exited -f name=worldcraftdiscordbot_2)" ]; then
# cleanup
docker rm worldcraftdiscordbot_2
fi
NEW=worldcraftdiscordbot_2
OLD=worldcraftdiscordbot_1
# run your container
docker run -d --name $NEW --restart unless-stopped worldcraftdiscordbot:v${env.BUILD_ID}
fi
# remove old container after 3 seconds
if [ "$(docker ps -a -f name=$OLD)" ]; then
sleep 3s
docker stop $OLD
fi'''
}
}
}
}