如何在 Jenkins 中使用 Job DSL 插件(脚本)删除作业?
How can I delete a job using Job DSL plugin(script) in Jenkins?
我对 Jenkins 和 Job DSL 插件还很陌生。经过一番研究,我发现了如何使用 DSL 创建作业,现在我正在尝试使用 DSL 删除作业。
我知道使用以下代码禁用作业:
//create new job
//freeStyleJob("MyJob1", closure = null);
job("MyJob1"){
disabled(true);
}
它工作得很好。但是,我找不到任何方法来删除 jenkins 中的另一个作业。
请帮忙!
谢谢!
要删除作业,您必须在 "Process Job DSLs" 构建步骤配置中将 "Action for removed jobs" 选项设置为 "Delete"。然后从您的脚本中删除作业和 运行 种子作业。
Job Dsl 插件的每个实例都会跟踪它创建的作业(和视图)。当它再次为 运行 时,您可以配置它对该实例上一次 运行 存在但这次不存在的作业(和视图)执行的操作。
假设您有两个用于创建工作的文件。
seed_jobdsl.groovy
:
job('seed_all') {
steps {
dsl {
external('*_jobdsl.groovy')
// default behavior
// removeAction('IGNORE')
}
}
}
test_jobdsl.groovy
:
job('test_stuff') {
steps {
shell('echo "I live!")
}
}
这将使 seed_all
创建的作业保持不变,即使它们不在下次种子为 运行 时创建的作业列表中也是如此。
要删除职位,请更改您的种子职位代码:
seed_jobdsl.groovy
:
job('seed_all') {
steps {
dsl {
external('*_jobdsl.groovy')
removeAction('DELETE')
}
}
}
现在,运行 seed_all
作业应用您的更改(seed_all
在 运行 时覆盖其自己的配置)。然后进行以下更改:
test_jobdsl.groovy
:
job('test_other') {
steps {
shell('echo "The job is dead, long live the new job!"')
}
}
再次 运行 seed_all
。您注意到 test_stuff
将被删除并创建 test_other
。如果您删除 test_jobdsl.groovy
然后 运行 seed_all
,test_other
将被删除。
我对 Jenkins 和 Job DSL 插件还很陌生。经过一番研究,我发现了如何使用 DSL 创建作业,现在我正在尝试使用 DSL 删除作业。 我知道使用以下代码禁用作业:
//create new job
//freeStyleJob("MyJob1", closure = null);
job("MyJob1"){
disabled(true);
}
它工作得很好。但是,我找不到任何方法来删除 jenkins 中的另一个作业。
请帮忙!
谢谢!
要删除作业,您必须在 "Process Job DSLs" 构建步骤配置中将 "Action for removed jobs" 选项设置为 "Delete"。然后从您的脚本中删除作业和 运行 种子作业。
Job Dsl 插件的每个实例都会跟踪它创建的作业(和视图)。当它再次为 运行 时,您可以配置它对该实例上一次 运行 存在但这次不存在的作业(和视图)执行的操作。
假设您有两个用于创建工作的文件。
seed_jobdsl.groovy
:
job('seed_all') {
steps {
dsl {
external('*_jobdsl.groovy')
// default behavior
// removeAction('IGNORE')
}
}
}
test_jobdsl.groovy
:
job('test_stuff') {
steps {
shell('echo "I live!")
}
}
这将使 seed_all
创建的作业保持不变,即使它们不在下次种子为 运行 时创建的作业列表中也是如此。
要删除职位,请更改您的种子职位代码:
seed_jobdsl.groovy
:
job('seed_all') {
steps {
dsl {
external('*_jobdsl.groovy')
removeAction('DELETE')
}
}
}
现在,运行 seed_all
作业应用您的更改(seed_all
在 运行 时覆盖其自己的配置)。然后进行以下更改:
test_jobdsl.groovy
:
job('test_other') {
steps {
shell('echo "The job is dead, long live the new job!"')
}
}
再次 运行 seed_all
。您注意到 test_stuff
将被删除并创建 test_other
。如果您删除 test_jobdsl.groovy
然后 运行 seed_all
,test_other
将被删除。