2018-08-20 15:49:04 +00:00
|
|
|
#!groovy
|
|
|
|
build('newway', 'java-maven') {
|
|
|
|
checkoutRepo()
|
|
|
|
|
2019-01-10 16:49:37 +00:00
|
|
|
env.JAVA_HOME = "JAVA_HOME=/opt/openjdk-bin-11.0.1_p13 "
|
2018-08-20 15:49:04 +00:00
|
|
|
def serviceName = env.REPO_NAME
|
|
|
|
def baseImageTag = "f26fcc19d1941ab74f1c72dd8a408be17a769333"
|
|
|
|
def mvnArgs = '-DjvmArgs="-Xmx256m"'
|
|
|
|
|
|
|
|
// Run mvn and generate docker file
|
|
|
|
runStage('Maven package') {
|
|
|
|
withCredentials([[$class: 'FileBinding', credentialsId: 'java-maven-settings.xml', variable: 'SETTINGS_XML']]) {
|
|
|
|
def mvn_command_arguments = ' --batch-mode --settings $SETTINGS_XML -P ci ' +
|
|
|
|
" -Dgit.branch=${env.BRANCH_NAME} " +
|
|
|
|
" ${mvnArgs}"
|
|
|
|
if (env.BRANCH_NAME == 'master') {
|
2019-01-10 16:49:37 +00:00
|
|
|
sh env.JAVA_HOME + 'mvn deploy' + mvn_command_arguments
|
2018-08-20 15:49:04 +00:00
|
|
|
} else {
|
2019-01-10 16:49:37 +00:00
|
|
|
sh env.JAVA_HOME + 'mvn package' + mvn_command_arguments
|
2018-08-20 15:49:04 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
def serviceImage;
|
|
|
|
def imgShortName = 'rbkmoney/' + "${serviceName}" + ':' + '$COMMIT_ID';
|
|
|
|
getCommitId()
|
|
|
|
runStage('Build Service image') {
|
|
|
|
serviceImage = docker.build(imgShortName, '-f ./target/Dockerfile ./target')
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
if (env.BRANCH_NAME == 'master' || env.BRANCH_NAME.startsWith('epic')) {
|
|
|
|
runStage('Push Service image') {
|
|
|
|
docker.withRegistry('https://dr.rbkmoney.com/v2/', 'dockerhub-rbkmoneycibot') {
|
|
|
|
serviceImage.push();
|
|
|
|
}
|
|
|
|
// Push under 'withRegistry' generates 2d record with 'long name' in local docker registry.
|
|
|
|
// Untag the long-name
|
|
|
|
sh "docker rmi dr.rbkmoney.com/${imgShortName}"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
finally {
|
|
|
|
runStage('Remove local image') {
|
|
|
|
// Remove the image to keep Jenkins runner clean.
|
|
|
|
sh "docker rmi ${imgShortName}"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|