Remove GitHub/Forgejo workflow; add Jenkinsfile that runs production readiness scripts, compose config smoke, and frappe/erpnext image pull.
44 lines
1,000 B
Groovy
44 lines
1,000 B
Groovy
pipeline {
|
|
agent any
|
|
|
|
options {
|
|
timestamps()
|
|
disableConcurrentBuilds()
|
|
}
|
|
|
|
stages {
|
|
stage('Checkout') {
|
|
steps {
|
|
checkout scm
|
|
}
|
|
}
|
|
|
|
stage('Production readiness') {
|
|
steps {
|
|
sh 'chmod +x scripts/ci/*.sh'
|
|
sh 'bash scripts/ci/ci-readiness.sh .'
|
|
sh 'bash scripts/ci/validate-docker-compose.sh .'
|
|
}
|
|
}
|
|
|
|
stage('Compose smoke') {
|
|
steps {
|
|
sh '''
|
|
set -euo pipefail
|
|
mkdir -p dist
|
|
sed '/exclude_from_hc:/d' docker-compose.yml > dist/docker-compose.coolify.yml
|
|
docker compose -f dist/docker-compose.coolify.yml config -q
|
|
VERSION="$(grep -E '^ERPNEXT_VERSION=' example.env | cut -d= -f2)"
|
|
docker pull "frappe/erpnext:${VERSION}"
|
|
echo "frappe/erpnext:${VERSION} OK"
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
|
|
post {
|
|
success {
|
|
archiveArtifacts artifacts: 'dist/docker-compose.coolify.yml', fingerprint: true, onlyIfSuccessful: true
|
|
}
|
|
}
|
|
}
|