pipeline { agent any environment { DOCKER_HOST = "unix:///var/run/docker.sock" } stages { stage('Docker Build') { steps { echo "Build new docker image from ${env.BRANCH_NAME}..." sh "docker build -t portfolio:${env.BRANCH_NAME} ." } } stage('Deploy') { // Deploy only master branch when { branch 'master' } steps { echo "Deploy new portfolio version..." sh "docker compose up -d" // Keep updated docker-compose.yml for safety sh "cp docker-compose.yml /home/lucas/services/portfolio/docker-compose.yml" } } } post { always { echo "Clean unused image..." sh "docker image prune -f" } success { echo "Success !" } failure { echo "Failed." } } }