38 lines
960 B
Groovy
38 lines
960 B
Groovy
pipeline {
|
|
agent any
|
|
environment {
|
|
IMAGE_NAME = "astro-portfolio"
|
|
CONTAINER_NAME = "portfolio"
|
|
DOCKER_NETWORK = "reverse-proxy"
|
|
DOCKER_HOST = "unix:///var/run/docker.sock"
|
|
}
|
|
stages {
|
|
stage('Checkout') {
|
|
steps {
|
|
checkout scm
|
|
}
|
|
}
|
|
stage('Docker Build') {
|
|
steps {
|
|
sh "docker build -t ${IMAGE_NAME} ."
|
|
}
|
|
}
|
|
stage('Deploy') {
|
|
steps {
|
|
sh "docker stop ${CONTAINER_NAME} || true"
|
|
sh "docker rm ${CONTAINER_NAME} || true"
|
|
sh "docker run -d --name ${CONTAINER_NAME} --network ${DOCKER_NETWORK} ${IMAGE_NAME}"
|
|
}
|
|
}
|
|
stage('Cleanup') {
|
|
steps {
|
|
sh "docker image prune -f"
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
success { echo "Success !" }
|
|
failure { echo "Failed." }
|
|
}
|
|
}
|