erpnext/Jenkinsfile
epistemophiliac 3eefb73727 Fix Jenkins compose stage: avoid source under /bin/sh.
Jenkins sh steps use dash; move compose validation into a bash script like the other CI stages.
2026-06-16 18:47:18 -04:00

63 lines
1.5 KiB
Groovy

// ERPNext → Coolify production CI (Forgejo: epistemophiliac/erpnext)
pipeline {
agent any
options {
timestamps()
disableConcurrentBuilds()
buildDiscarder(logRotator(numToKeepStr: '20'))
}
stages {
stage('Verify') {
steps {
sh '''
echo "=== ERPNext Coolify CI ==="
echo "commit: $(git rev-parse --short HEAD)"
echo "branch: ${BRANCH_NAME:-main}"
test -f Jenkinsfile
test -f docker-compose.yml
test -f example.env
'''
}
}
stage('Production readiness') {
steps {
sh '''
chmod +x scripts/ci/*.sh
bash scripts/ci/ci-readiness.sh .
bash scripts/ci/validate-docker-compose.sh .
'''
}
}
stage('Bootstrap Docker tools') {
steps {
sh 'bash scripts/ci/jenkins-bootstrap.sh'
}
}
stage('Compose validate') {
steps {
sh 'bash scripts/ci/jenkins-compose-validate.sh'
}
}
stage('Verify ERPNext image') {
steps {
sh 'bash scripts/ci/jenkins-pull-image.sh'
}
}
}
post {
success {
archiveArtifacts artifacts: 'dist/docker-compose.coolify.yml', fingerprint: true, onlyIfSuccessful: true
echo 'CI passed — safe to deploy docker-compose.yml on Coolify (set DB_PASSWORD, SITE_NAME, ADMIN_PASSWORD).'
}
failure {
echo 'CI failed — do not deploy to Coolify until this build is green.'
}
}
}