blob: c8c48eff38d95229194400ec5c53a68f70193c80 [file] [log] [blame]
/* voltha-publish pipeline */
pipeline {
/* no label, executor is determined by JJB */
agent {
label "${params.executorNode}"
}
stages {
stage('repo') {
steps {
checkout(changelog: false, \
poll: false,
scm: [$class: 'RepoScm', \
manifestRepositoryUrl: "${params.manifestUrl}", \
manifestBranch: "${params.manifestBranch}", \
manifestGroup: 'voltha', \
currentBranch: true, \
destinationDir: 'cord', \
forceSync: true, \
resetFirst: true, \
quiet: true, \
jobs: 4, \
showAllChanges: true] \
)
}
}
stage('build'){
steps {
sh """
#!/usr/bin/env bash
pushd cord/incubator/voltha
if [ "${params.manifestBranch}" == "master" ]
then
TAG="latest"
else
TAG="${params.manifestBranch}"
fi
VOLTHA_BUILD=docker DOCKER_CACHE_ARG=--no-cache TAG=\$TAG make build
popd
"""
}
}
stage('push'){
steps {
withDockerRegistry([credentialsId: 'docker-artifact-push-credentials', url: '']) {
sh """
#!/usr/bin/env bash
pushd cord/incubator/voltha
if [ "${params.manifestBranch}" == "master" ]
then
TAG="latest"
else
TAG="${params.manifestBranch}"
fi
# Check for SemVer in VERSION (only numbers and dots)
RELEASETAG=\$(cat voltha/VERSION|tr -d ' '|egrep '^[0-9]+(\\.[0-9]+)*\$'||true)
if [ "\$RELEASETAG" != "" ]
then
VOLTHA_BUILD=docker TAG=\$TAG TARGET_REPOSITORY=voltha/ TARGET_TAG=\$RELEASETAG make push
else
VOLTHA_BUILD=docker TAG=\$TAG TARGET_REPOSITORY=voltha/ TARGET_TAG=\$TAG make push
fi
popd
"""
}
}
}
}
post {
failure {
emailext (
subject: "$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS",
body: "Check console output at $BUILD_URL to view the results.",
to: "${params.failureEmail}"
)
}
}
}