refactor: enhance Jenkinsfile structure and improve stage conditions for better clarity and maintainability
Some checks failed
bangararaju.kottedi.in/portfolio-admin/pipeline/head There was a failure building this commit

This commit is contained in:
Bangara Raju Kottedi 2026-03-06 08:03:03 +05:30
parent f33bf8cd01
commit 1eca714680

54
Jenkinsfile vendored
View File

@ -9,7 +9,7 @@ options {
stages { stages {
stage('Build') { stage('Build & Test') {
agent { label getAgentLabel() } agent { label getAgentLabel() }
stages { stages {
@ -27,6 +27,14 @@ stages {
} }
stage('Inject Environment File') { stage('Inject Environment File') {
when {
not {
anyOf {
branch pattern: "feature/.*", comparator: "REGEXP"
branch pattern: "bug/.*", comparator: "REGEXP"
}
}
}
steps { steps {
configFileProvider( configFileProvider(
[configFile( [configFile(
@ -40,18 +48,43 @@ stages {
} }
} }
stage('Install & Build') { stage('Install Dependencies') {
steps {
sh 'npm ci'
}
}
stage('Run Tests') {
when {
anyOf {
branch pattern: "feature/.*", comparator: "REGEXP"
branch pattern: "bug/.*", comparator: "REGEXP"
branch 'develop'
branch 'prod'
}
}
steps {
sh 'npm run test -- --watch=false --browsers=ChromeHeadless'
}
}
stage('Build Angular App') {
when {
anyOf {
branch 'develop'
branch 'prod'
}
}
steps { steps {
sh ''' sh '''
npm ci
ng build --configuration production --base-href /admin/ ng build --configuration production --base-href /admin/
''' '''
} }
} }
} }
} }
// 🚨 Production Approval Gate
stage('Production Approval') { stage('Production Approval') {
when { when {
branch 'prod' branch 'prod'
@ -62,6 +95,14 @@ stages {
} }
stage('Deploy & Verify') { stage('Deploy & Verify') {
when {
anyOf {
branch 'develop'
branch 'prod'
}
}
agent { label getAgentLabel() } agent { label getAgentLabel() }
stages { stages {
@ -90,13 +131,12 @@ stages {
post { post {
success { success {
echo "Deployment successful for ${env.BRANCH_NAME}" echo "Deployment successful for ${env.BRANCH_NAME}"
} }
failure { failure {
echo "Deployment failed for ${env.BRANCH_NAME}" echo "Deployment failed for ${env.BRANCH_NAME}"
} }
} }
} }
// //