appVer = '1.1'
if ( env.BRANCH_NAME == 'master') {
appRevision = "${appVer}-RELEASE"
environment = "PROD"
} else {
appRevision = "${appVer}-SNAPSHOT"
environment = "DEV"
}
pipeline {
agent {
node {
label 'Linux_Default' //Сборка должна происходить на централизованных агентах из пула Linux_Default
}
}
stages {
stage('Build') {
steps {
withMaven(maven: 'Maven 3.5.2') {
sh """mvn -DappRevision=$appRevision clean install""" //Выполняется сборка проекта
}
}
}
stage('SQ') {
steps {
withSonarQubeEnv('sonarq.kode.ru') {
withMaven(maven: 'Maven 3.5.2') {
sh "mvn -DappRevision=$appRevision sonar:sonar -Dsonar.links.scm=${env.GIT_URL}"
}
}
}
}
stage('QG SQ') {
steps {
timeout(time: 1, unit: 'HOURS') {
waitForQualityGate abortPipeline: true
}
}
}
stage("Nexus upload") {
when {
not {
branch 'master'
}
}
steps {
withCredentials([usernamePassword(credentialsId: "CRED", usernameVariable: "nexUser", passwordVariable: "nexPwd")]) {
withMaven(maven: 'Maven 3.5.2') {
sh "mvn -DappRevision=${appRevision} -s ./settings.xml clean deploy -Dmaven.test.skip=true -Drepo.password=\"${nexPwd}\" -Drepo.username=\"${nexUser}\""
}
}
}
}
stage("Deploy") {
steps {
build job: 'camp/deploy_market', parameters: [[$class: 'StringParameterValue', name: 'comp_env', value: "${environment}"],
[$class: 'StringParameterValue', name: 'app_version', value: "${appRevision}"],
[$class: 'StringParameterValue', name: 'login', value: "Vasya"],
[$class: 'StringParameterValue', name: 'email_list', value: "aaa@kode.ru"]]
}
}
}
}