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." } } }