当前位置: 首页 > 面试题库 >

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

戚阳
2023-03-14
问题内容

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

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

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

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

请帮忙!

谢谢!


问题答案:

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_alltest_other将被删除。



 类似资料:
  • 问题内容: 在ubuntu 10.11上进行简单的apt- get更新后,我失去了svn轮询的可能性。我的所有项目都无法再轮询svn。插件更新中心显示此插件有可用的更新(1.34-> 1.37),但无法使用Web界面或cli进行更新。Jenkins日志显示了与Subversion插件相关的大量错误 等…等… 我用手移除了: 但该插件仍会列在更新区域中。 问题:删除此插件的所有引用并重新安装的正确方

  • 我知道我可以通过Jenkins RTC插件使用scm轮询,我只是想知道是否有一个如何通过管道插件的groovy脚本做到这一点的例子? 例如: 类似于上面的内容,但不是git,而是将rtc toolkit与prod url一起使用,并指定一个流或一个工作区。。。在任何地方都找不到示例,也不确定如何通过api实现它(或者如果可能的话?)

  • 问题内容: 我想保存传递给JobDSL作业的参数。我知道我可以引用各个参数,但是我想使代码通用。我将如何访问传递给作业的参数列表? 当前代码如下所示: 我希望能够使其看起来像: 是构建流程插件中可用的内容,而JobDSL插件中没有。 问题答案: DSL不提供对构建参数的访问。但是脚本可以访问Jenkins对象模型,因此您可以使用Jenkins API来检索当前构建及其参数:

  • 在我的系统中,我每天都在1个文件夹中下载新构建,然后将其用于进一步的原因,但在运行jenkins作业后,我想删除文件夹(不是工作区)中的文件,这将从同一目录中删除特定文件夹。这将帮助我每次根据在同一台机器上运行的不同jenkins作业下载新构建。 EG: 我正在下载x.x构建,然后在机器上运行jenkins作业,然后如果我想运行其他需要x.y构建的作业,它会查看文件夹中是否已经有一些构建。如果有,

  • 问题内容: 在安装了“版本号插件”的Jenkinsfile中尝试此步骤: 并得到此错误: 在Jenkinsfile中使用此插件的正确方法是什么? 问题答案: 您需要使用它作为步骤。 看一看https://your_jenkins_url.com/pipeline- syntax/ 并检查已剪切生成器中VersionNumber步骤的所有选项。

  • 问题内容: 扩展选择参数插件很棒,我在通过UI https://wiki.jenkins- ci.org/display/JENKINS/Extended+Choice+Parameter+plugin 配置的作业中使用它 但是,我正在努力使其在样式管道脚本中运行。由于Jenkins管道语法生成器创建了以下代码段,因此扩展选择参数插件似乎尚未与管道脚本完全兼容: 如果我手动创建参数,则会得到与ht