使用詹金斯怎么批量修改任务

  介绍

今天就跟大家聊聊有关使用詹金斯怎么批量修改任务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

进入菜单:系统管理——比;脚本命令行

在输入框中,粘贴如下代码:

import  jenkins.model.Jenkins   import  hudson.model.Job   import  jenkins.model.BuildDiscarderProperty   import  hudson.tasks.LogRotator//,遍历所有的任务   Jenkins.instance.allItems(工作).each  {, job →      if  (, job.isBuildable (),,,, job.supportsLogRotator (),,,, job.getProperty (BuildDiscarderProperty),==, null), {   ,println “\“$ {job.fullDisplayName} \“,处理中“      ,job.addProperty (new  BuildDiscarderProperty (new  LogRotator  (2),,, 2,, 10)))   ,println “job.name 美元;已更新“   }   }   返回;/* *      LogRotator构造参数分别为:   daysToKeep: If  not  1, history  is  only  kept  up 用却;能够天。   numToKeep: If  not  1, only 却;能够number  of  build  logs 断开连接,保存。   artifactDaysToKeep: If  not  1, nor 空,,artifacts 断开连接;only  kept  up 用却;能够天。   artifactNumToKeep: If  not  1, nor 空,,only 却;能够number  of  builds  have  their  artifacts 保持。   * */

<强>脚本

脚本命令行介绍

脚本命令行(Jenkins脚本的控制台),它是詹金斯的一个特性,允许你在詹金斯大师和詹金斯代理的运行时环境执行任意的Groovy脚本。这意味着,我们可以在脚本命令行中做任何的事情,包括关闭詹金斯,执行操作系统命令rm射频/(所以不能使用根用户运行詹金斯代理)等危险操作。

除了上文中的,使用界面来执行Groovy脚本,还可以通过詹金斯HTTP API:/脚本执行。具体操作,请参考官方文档。

<强>问题:代码执行完成后,对任务的修改有没有被持久化?

当我们代码工作。addProperty(新BuildDiscarderProperty(新LogRotator(2 10 2、10)))执行后,这个修改到底有没有持久化到文件系统中呢(詹金斯的所有配置默认都持久化在文件系统中)?我们看下hudson.model。工作的源码,在addProperty方法背后是有进行持久化的:

public  void  addProperty (JobProperty<?, super  JobT>, jobProp), throws  IOException  {   ((JobProperty) jobProp) .setOwner(这个);   properties.add (jobProp);   save ();   }

看完上述内容,你们对使用詹金斯怎么批量修改任务有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

使用詹金斯怎么批量修改任务