2021-12-10 14:54:40 -08:00

52 lines
1.2 KiB
Groovy

#!groovy
def MAVEN_IMAGE = 'maven:3.8.2-openjdk-11-slim'
pipeline {
agent {
docker {
image "${MAVEN_IMAGE}"
}
}
stages {
stage ('Build') {
steps {
// dir('user-service') {
sh 'mvn clean verify ' +
"-Dpact.provider.version=${GIT_COMMIT} " +
'-Dpact.verifier.publishResults=true'
// }
}
}
stage('Static Code Analysis') {
steps {
withSonarQubeEnv('cicd') {
sh 'mvn sonar:sonar'
}
}
}
stage('Check Pact Verifications') {
steps {
sh 'cp files/cacert.pem /tmp'
withEnv(['SSL_CERT_FILE=/tmp/cacert.pem']) {
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 user-service -b https://pact.bayhan.ca -e ${GIT_COMMIT}"
}
}
}
}
stage('Deploy') {
when {
branch 'junit5'
}
steps {
echo 'Deploying to prod now...'
}
}
}
}