В нашем текущем подключаемом модуле конвейера доставки jenkins (https://wiki.jenkins.io/display/JENKINS/Delivery+Pipeline+Plugin), мы обычно продвигаем артефакт из нижних сред в более высокие.
Для целей выпуска - в представлении доставки, как показать, какой артефакт иликоммит продвигается?
В настоящее время мы используем JOB-DSL для создания приведенного выше представления: Вот фрагмент:
import javaposse.jobdsl.dsl.DslFactory
DslFactory factory = this
//How to grab commit ?
factory.job('liveblock-build') {
deliveryPipelineConfiguration('Build')
//How to grab Commit ID ?
steps {
downstreamParameterized {
trigger('liveblock-test-pipeline') {
block {
buildStepFailure('FAILURE')
failure('FAILURE')
unstable('UNSTABLE')
}
parameters {
predefinedProp('GITHUB_DOMAIN',githubDomain)
predefinedProp('GITHUB_REPOSITORY', githubRepository )
predefinedProp('DEPLOY_PATH', deployScriptPath )
predefinedProp('CONFIG_PATH', configPath )
predefinedProp('CONTAINER', container )
}
}
}
}
properties {
githubProjectUrl('http://'+ githubDomain + '/' + githubRepository + '/')
promotions {
promotion {
name('approve')
icon('star-gold')
conditions {
manual('jenkins')
}
actions {
downstreamParameterized {
trigger('liveblock-approve')
}
}
}
}
}
triggers {
gitHubPushTrigger()
githubBranches {
repoProviders {
githubPlugin {
cacheConnection(true)
}
}
triggerMode("HEAVY_HOOKS")
spec("")
}
}
publishers {
slackNotifier {
teamDomain('awesometeam')
tokenCredentialId('slack-token')
room('jenkins-test')
notifySuccess(true)
notifyFailure(true)
startNotification(true)
customMessageSuccess("Jenkins Job - '\$JOB_NAME' - '\$BUILD_NUMBER' Succeeded. Waiting for Approval: '\$BUILD_URL'promotion/")
}
}
}