gpt4 book ai didi

jenkins - 如何在Jenkins中使用Job DSL插件删除脚本?

转载 作者:行者123 更新时间:2023-12-01 07:18:09 30 4
gpt4 key购买 nike

我对Jenkins和Job DSL插件非常陌生。经过一番研究,我发现了如何使用DSL创建作业,现在我正尝试使用DSL删除作业。
我知道使用以下代码禁用作业:

//create new job
//freeStyleJob("MyJob1", closure = null);

job("MyJob1"){
disabled(true);
}

运行正常。但是,我找不到在 Jenkins 删除其他工作的任何方法。

请帮忙!

谢谢!

最佳答案

Job Dsl插件的每个实例都跟踪它创建的作业(和 View )。再次运行该实例时,您可以配置它对该实例上一次运行时已存在但这次不存在的作业(和 View )的作用。

假设您必须保存用于创建作业的文件。
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_alltest_other将被删除。

关于jenkins - 如何在Jenkins中使用Job DSL插件删除脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33784488/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com