pipeline { agent any environment { PROD_PING_CLIENT_CREDS = credentials('prod-ping-client') } stages { stage('Setup') { steps { sh 'scripts/jenkins-build-scripts/jenkins-setup.sh' } } stage('Build') { steps { sh 'chmod +x scripts/build.sh' sh 'releaseType=np scripts/build.sh' } } stage('Deploy') { when { branch 'master' } environment { CF_PASSWORD = credentials('agents-of-shield-ci-password') } steps { sh 'cf logout' sh 'cf login -a api.mcf-np.threega.com -s agents-of-shield -u agents-of-shield-ci -p $CF_PASSWORD --skip-ssl-validation' sh 'chmod +x scripts/cf-deploy-np.sh' sh 'scripts/cf-deploy-np.sh' } } stage('Push to S3') { when { branch 'master' } steps { sh 'chmod +x scripts/stage-deploy.sh' sh 'scripts/stage-deploy.sh' } } stage('Create Deployment Document') { when { branch 'master' } steps { sh 'npm install @monsantoit/deploytool-cli' sh 'NODE_ENV=production node_modules/.bin/deploytool add -d "pre-register-uadmin $CURRENT_DATE" -t "AGENTS-OF-SHIELD" -c "c7-user-registration-service-cf-aws" -v "$GIT_COMMIT" --clientId $PROD_PING_CLIENT_CREDS_USR --clientSecret $PROD_PING_CLIENT_CREDS_PSW --purpose "new features" --features "" --platform "Customer"' sh 'NODE_ENV=production node_modules/.bin/deploytool add -d "pre-register-uadmin $CURRENT_DATE" -t "AGENTS-OF-SHIELD" -c "c7-user-registration-service-cf-aws" -v "$GIT_COMMIT" --clientId $PROD_PING_CLIENT_CREDS_USR --clientSecret $PROD_PING_CLIENT_CREDS_PSW --purpose "new features" --features "$(git log --pretty=format:"* %s" --grep="GCX" --no-merges $(git describe --tags --abbrev=0)..HEAD)" --platform "Customer"' } } } post { success { slackSend (color: '#37B787', message: "${env.JOB_NAME} - #${env.BUILD_NUMBER} Success (<${env.BUILD_URL}|Open>)") } failure { slackSend (color: '#A1070D', message: "@channel ${env.JOB_NAME} - #${env.BUILD_NUMBER} Failure (<${env.BUILD_URL}|Open>)") } } }