#!groovy pipeline { agent any parameters { string(name: 'GIT_COMMIT', defaultValue: '', description: 'Version (a.k.a. git commit) to deploy') } options { skipDefaultCheckout() } stages { stage('Check Pact Verifications') { steps { sh 'curl -LO https://github.com/pact-foundation/pact-ruby-standalone/releases/download/v1.88.3/pact-1.88.3-linux-x86_64.tar.gz' sh 'tar xzf pact-1.88.3-linux-x86_64.tar.gz' dir('pact/bin') { sh "./pact-broker can-i-deploy -a messaging-app -b http://pact_broker -e ${GIT_COMMIT} --to prod" } } } stage('Deploy') { steps { echo 'Deploying to prod now...' } } stage('Tag Pact') { steps { dir('pact/bin') { sh "./pact-broker create-version-tag -a messaging-app -b http://pact_broker -e ${GIT_COMMIT} -t prod" } } } } }