master- Sync Repo
This commit is contained in:
42
jenkins/Jenkinsfile-contract-tests
Normal file
42
jenkins/Jenkinsfile-contract-tests
Normal file
@@ -0,0 +1,42 @@
|
||||
#!groovy
|
||||
pipeline {
|
||||
|
||||
agent any
|
||||
|
||||
parameters {
|
||||
string(name: 'pactConsumerTags', defaultValue: 'junit5', description: 'Tags to verify')
|
||||
}
|
||||
|
||||
stages {
|
||||
stage ('Get Latest Prod Version From Pact Broker') {
|
||||
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') {
|
||||
script {
|
||||
env.PROD_VERSION = sh(script: "./pact-broker describe-version -a user-service -b http://pact_broker -l prod | tail -1 | cut -f 1 -d \\|", returnStdout: true).trim()
|
||||
}
|
||||
}
|
||||
echo "Current prod version: " + PROD_VERSION
|
||||
}
|
||||
}
|
||||
stage("Checkout Latest Prod Version") {
|
||||
steps {
|
||||
sh "git checkout ${PROD_VERSION}"
|
||||
}
|
||||
}
|
||||
|
||||
stage ('Run Contract Tests') {
|
||||
steps {
|
||||
dir('user-service') {
|
||||
sh "../mvnw clean test " +
|
||||
"-Pcontract-tests " +
|
||||
"-Dpact.provider.version=${PROD_VERSION} " +
|
||||
"-Dpact.verifier.publishResults=true " +
|
||||
"-Dpactbroker.tags=prod,${params.pactConsumerTags}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user