介绍
今天就跟大家聊聊有关使用詹金斯怎么批量修改任务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
进入菜单:系统管理——比;脚本命令行
在输入框中,粘贴如下代码:
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 (); }
看完上述内容,你们对使用詹金斯怎么批量修改任务有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。