pipeline { agent any parameters { choice( name: 'ENVIRONMENT', choices: ['dev', 'qa', 'new_prod', 'demo'], description: 'Environment Name for the application (e.g., dev, production etc.)' ) } stages { stage('Build Base QA Docker Image') { when { branch 'qa' } steps { sh "docker build --build-arg ENV_NAME=${params.ENVIRONMENT} -t 10.50.10.93:5000/livecarta_wp:qa ." sh 'docker push 10.50.10.93:5000/livecarta_wp:qa' } } stage('Build Base DEV Docker Image') { when { branch 'develop' } steps { sh "docker build --build-arg ENV_NAME=${params.ENVIRONMENT} -t 10.50.10.93:5000/livecarta_wp:dev ." sh 'docker push 10.50.10.93:5000/livecarta_wp:dev' } } stage('Build Base PROD Docker Image') { when { branch 'master' } steps { sh "docker build --build-arg ENV_NAME=${params.ENVIRONMENT} -t 10.50.10.93:5000/livecarta_wp:prod ." sh 'docker push 10.50.10.93:5000/livecarta_wp:prod' } } stage('Build Base WL Docker Image') { when { branch 'wl' } steps { sh "docker build --build-arg ENV_NAME=${params.ENVIRONMENT} -t 10.50.10.93:5000/livecarta_wp:wl ." sh 'docker push 10.50.10.93:5000/livecarta_wp:wl' } } } }