【发布时间】:2019-01-16 00:48:33
【问题描述】:
我有一个 Jenkins 流水线作业(除其他外)使用 Job DSL plugin 创建另一个 pipelineJob(之后清理所有内容)。
pipeline {
agent { label 'Deployment' }
stages {
stage('Clean working directory and Checkout') {
steps {
deleteDir()
checkout scm
}
}
// Complex logic omitted
stage('Generate cleanup job') {
steps {
build job: 'cleanup-job-template',
parameters: [
string(name: 'REGION', value: "${REGION}"),
string(name: 'DEPLOYMENT_TYPE', value: "${DEPLOYMENT_TYPE}")
]
}
}
}
}
问题是我只需要构建这个新生成的作业一次,然后,如果构建成功,则应该删除该作业。
pipeline {
stages {
stage('Cleanup afterwards') {
// cleanup logic
}
}
post {
success {
// delete this job?
}
}
}
我想,这可以使用Pipeline Post Action 来完成,但不幸的是,我找不到任何开箱即用的解决方案。 有没有可能做到这一点?
【问题讨论】:
-
你为什么需要这份额外的工作?为什么不能在同一份工作中进行清理工作?
-
@HendrikMHalkow,该作业创建了一些 AWS cloudformation 堆栈,然后对其进行测试。因此,一旦测试完成,此堆栈将被删除。清理工作就是为了这个。
标签: jenkins jenkins-pipeline jenkins-job-dsl