Switch to jenkins multipipeline
All checks were successful
Portfolio/pipeline/head This commit looks good

This commit is contained in:
2026-01-08 11:48:07 +01:00
parent 82542de14f
commit 9f7c4dbb2e
2 changed files with 22 additions and 18 deletions

29
Jenkinsfile vendored
View File

@@ -1,38 +1,31 @@
pipeline { pipeline {
agent any agent any
environment { environment {
IMAGE_NAME = "astro-portfolio"
CONTAINER_NAME = "portfolio"
DOCKER_NETWORK = "reverse-proxy"
DOCKER_HOST = "unix:///var/run/docker.sock" DOCKER_HOST = "unix:///var/run/docker.sock"
// Optimization
PNPM_CACHE = "/var/jenkins_home/pnpm-cache"
} }
stages { stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('Docker Build') { stage('Docker Build') {
steps { 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') { stage('Deploy') {
steps { // Deploy only master branch
sh "docker stop ${CONTAINER_NAME} || true" when {
sh "docker rm ${CONTAINER_NAME} || true" branch 'master'
sh "docker run -d --name ${CONTAINER_NAME} --network ${DOCKER_NETWORK} ${IMAGE_NAME}"
} }
}
stage('Cleanup') {
steps { steps {
sh "docker image prune -f" echo "Deploy new portfolio version..."
sh "docker compose up -d"
} }
} }
} }
post { post {
always {
echo "Clean unused image..."
sh "docker image prune -f"
}
success { echo "Success !" } success { echo "Success !" }
failure { echo "Failed." } failure { echo "Failed." }
} }

11
docker-compose.yml Normal file
View File

@@ -0,0 +1,11 @@
services:
portfolio:
image: portfolio:master
container_name: portfolio
restart: always
networks:
- reverse-proxy
networks:
reverse-proxy:
external: true