From 152b710fb80a15078ca29edfab42f81b96944f60 Mon Sep 17 00:00:00 2001 From: Lucas Date: Thu, 8 Jan 2026 11:48:07 +0100 Subject: [PATCH] ci(jenkins): switch to multibranch pipe --- Jenkinsfile | 29 +++++++++++------------------ docker-compose.yml | 11 +++++++++++ 2 files changed, 22 insertions(+), 18 deletions(-) create mode 100644 docker-compose.yml diff --git a/Jenkinsfile b/Jenkinsfile index a80d6de..af7fdba 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,38 +1,31 @@ pipeline { agent any environment { - IMAGE_NAME = "astro-portfolio" - CONTAINER_NAME = "portfolio" - DOCKER_NETWORK = "reverse-proxy" DOCKER_HOST = "unix:///var/run/docker.sock" - // Optimization - PNPM_CACHE = "/var/jenkins_home/pnpm-cache" } stages { - stage('Checkout') { - steps { - checkout scm - } - } stage('Docker Build') { steps { - sh "docker build -t ${IMAGE_NAME} ." + echo "Build new docker image from ${env.BRANCH_NAME}..." + sh "docker build -t portfolio:${env.BRANCH_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}" + // Deploy only master branch + when { + branch 'master' } - } - stage('Cleanup') { steps { - sh "docker image prune -f" + echo "Deploy new portfolio version..." + sh "docker compose up -d" } } } post { + always { + echo "Clean unused image..." + sh "docker image prune -f" + } success { echo "Success !" } failure { echo "Failed." } } diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..214ee87 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,11 @@ +services: + portfolio: + image: portfolio:master + container_name: portfolio + restart: always + networks: + - reverse-proxy + +networks: + reverse-proxy: + external: true \ No newline at end of file