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

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