pipeline { agent any parameters { //string(name: 'GWBT_REPO_NAME', defaultValue: 'master', description: 'GWBT_REPO_NAME') //string(name: 'GWBT_RELEASE_TAG_NAME', defaultValue: 'master', description: 'REPO') //string(name: 'GWBT_RELEASE_PUBLISHED_AT', defaultValue: 'master', description: 'GWBT_RELEASE_PUBLISHED_AT') //string(name: 'GWBT_RELEASE_ID', defaultValue: '', description: 'GWBT_RELEASE_ID') //string(name: 'GWBT_RELEASE_BODY', defaultValue: '', description: 'GWBT_RELEASE_BODY') string(name: 'IMAGE_NAME', defaultValue: "${params.GWBT_REPO_NAME}_${params.GWBT_RELEASE_TAG_NAME}_${params.GWBT_RELEASE_PUBLISHED_AT}.img", description: 'IMAGE_NAME') //string(name: 'GWBT_TRIGGER', defaultValue: '', description: 'GWBT_TRIGGER') booleanParam(name: 'ONLY_PUBLISH', defaultValue: false, description: 'ONLY PUBLISH') //string(name: 'WORKSPACE', defaultValue: '', description: 'WORKSPACE') } environment { BUILD_DIRECTORY = '/home/pi/temp' } stages { stage('Build image') { when { not { expression { return params.ONLY_PUBLISH } } } steps { build job: 'CopterExpress-clever-build', parameters: [[$class: 'StringParameterValue', name: 'IMAGE_NAME', value: "${params.IMAGE_NAME}"], [$class: 'StringParameterValue', name: 'GWBT_RELEASE_TAG_NAME', value: "${params.GWBT_RELEASE_TAG_NAME}"]] sh "echo ${params.IMAGE_NAME}" } } stage('Publish image') { when { environment name: 'GWBT_TRIGGER', value: 'release' } environment { CONFIG_FILE = 'coex-ci.conf' } steps { sh "$WORKSPACE/image/image-config.sh publish_image $BUILD_DIRECTORY ${params.IMAGE_NAME} $WORKSPACE $CONFIG_FILE ${params.GWBT_RELEASE_ID} ${params.GWBT_RELEASE_BODY}" } } } }