Files
portfolio/Jenkinsfile
Lucas da8cbc96b5
All checks were successful
Portfolio/pipeline/head This commit looks good
fix(jenkins): new docker host rootless
2026-01-27 19:13:34 +00:00

81 lines
2.8 KiB
Groovy

pipeline {
agent any
environment {
DOCKER_HOST = "unix:///run/user/1001/docker.sock"
APP_VERSION = "${env.BRANCH_NAME}-${env.BUILD_NUMBER}"
DOCKER_CONFIG = "${env.WORKSPACE}/.docker"
}
stages {
stage('Build') {
steps {
// Get Caddy version
sh "cp .env.dist .env"
// Push portfolio version
sh "echo '\nPORTFOLIO_VERSION=${env.APP_VERSION}' >> .env"
echo "Building new portfolio version..."
sh "docker compose build"
}
}
// stage('Lighthouse Audit') {
// steps {
// // Create volumes but no run with safety
// sh "docker rm -f audit-tmp lighthouse-audit || true"
// sh "docker compose --profile audit create --no-build --remove-orphans lighthouse-audit"
// // Extract astro data from temp container to tmp-dist folder
// sh "docker create --name audit-tmp portfolio:${env.APP_VERSION}"
// sh "mkdir -p ./tmp-dist"
// sh "docker cp audit-tmp:/usr/share/caddy/. ./tmp-dist"
// sh "docker rm -f audit-tmp"
// // Inject data from tmp-dist and config to audit container
// sh "docker cp ./tmp-dist/. lighthouse-audit:/app/dist/"
// sh "docker cp .lighthouserc.cjs lighthouse-audit:/app/dist/audit-config.cjs"
// sh "rm -rf ./tmp-dist"
// // Now run
// sh "docker start -a lighthouse-audit"
// // Get reports
// sh "mkdir -p ./.lighthouseci"
// sh "docker cp lighthouse-audit:/app/.lighthouseci/. ./.lighthouseci/"
// // Clean
// sh "docker rm -f lighthouse-audit"
// }
// }
stage('Deploy') {
// Deploy only master branch
when {
branch 'master'
}
steps {
echo "Deploy new portfolio version..."
sh "docker compose up -d"
// Update caddy-reverse-proxy cache
sh "docker exec caddy-reverse-proxy caddy reload --config /etc/caddy/Caddyfile"
}
}
}
post {
always {
// echo "Publish Lighthouse audit..."
// publishHTML([
// allowMissing: true,
// alwaysLinkToLastBuild: true,
// keepAll: false,
// reportDir: '.lighthouseci',
// reportFiles: '*.html',
// reportName: 'Lighthouse Report'
// ])
echo "Clean unused image"
sh "docker image prune -f"
}
success { echo "Success !" }
failure { echo "Failed." }
}
}