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
Some checks failed
bangararaju.kottedi.in/portfolio-admin/pipeline/head There was a failure building this commit
This commit is contained in:
parent
f33bf8cd01
commit
1eca714680
54
Jenkinsfile
vendored
54
Jenkinsfile
vendored
@ -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}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user