Jenkins 脚本命令行应用总结

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

Jenkins脚本命令行应用总结

测试环境

Jenkins 2.304

脚本命令行入口

Jenkins主页→系统管理→脚本命令行

遍历项目

例子:获取所有自由风格项目及相关项目信息

def projects = Jenkins.instance.projects.collect { it } // 获取自由风格的所有项目,注意,只能获取自由风格项目
println(projects) // 输出:[hudson.model.FreeStyleProject@4b8b02d[AutoTest-OMG], hudson.model.FreeStyleProject@2b953627[AutoTest-QDD],...,]
for(def project : projects) { println(project.name)  // 获取项目名称 println(project.getBuilds()) // 获取构建记录,输出:[AutoTest-OMG #190, AutoTest-OMG #189, ...,]println(job.nextBuildNumber) // 获取下一次构建号,形如:256
}

遍历Job

def jobNames = Jenkins.instance.getJobNames()
for (def jobName : jobNames) {println(jobName) // 注意:如果是多分支项目,则输出名称为fullName,形如:alpha-Deployer/vip}

批量删除Jenkins 项目构建记录

例子:删除所有Job最后5次构建之前的所有历史构建记录,即仅保留最近5次构建记录

def jobNames = Jenkins.instance.getJobNames()
for (def jobName : jobNames) {def job = Jenkins.instance.getItemByFullName(jobName)job.getBuilds().findAll { it.number < job.nextBuildNumber - 5 }.each { it.delete() } 
}

例子:删除FREE-STYLE-PROJECT项目构建号大于10的构建记录

def projectName = "FREE-STYLE-PROJECT" // 项目名称
def project = Jenkins.instance.getItem(projectName)
project.getBuilds().findAll { it.number > 10 }.each { it.delete() } 

非多分支项目

例子:删除FREE-STYLE-PROJECT项目的所有构建记录

def jobName = "FREE-STYLE-PROJECT" // 项目名称
def job = Jenkins.instance.getItem(jobName) // 本行代码也可以使用 def job = Jenkins.instance.getItemByFullName(jobName) 替代println(job.getClass()) // 输出:org.jenkinsci.plugins.workflow.job.WorkflowJob
println(job.getBuilds().getClass()) // 输出:class hudson.util.RunList
job.getBuilds().each { println(it.getClass()) } // 输出:class org.jenkinsci.plugins.workflow.job.WorkflowRunjob.getBuilds().each { it.delete() } // 删除所有构建记录

多分支项目

例子:删除CI-Builder项目,omg job的所有构建记录

def jobName = "CI-Builder/omg"
def job = Jenkins.instance.getItemByFullName(jobName) 
job.getBuilds().each { it.delete() }

例子:删除CI-Builder项目,所有job的所有构建记录,并重置每个job的下次构建号为1

def projectName = "CI-Builder"
def project = Jenkins.instance.getItem(projectName) def jobs = project.getItems().each {def job = itjob.getBuilds().each { it.delete() }job.nextBuildNumber = 1job.save()
}

作者:授客本文版权归原作者所有,仅供学习参考之用,转载请注明出处:https://blog.csdn.net/shouke/p/16104285.html,未经作者允许请务必保留此段声明!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

shell 产生随机数的多种方法

总结&#xff1a;1、echo $RANDOM2、 openssl rand -base64 103、date %s%N 或 date %s%N |md5sum4、cat /proc/sys/kernel/random/uuid 5、使用yum安装expect 使用命令&#xff1a; mkpasswd -l 10#-l为长度后续再补充。转载于:https://blog.51cto.com/linuxboys/1587500

C# 将PDF转为Excel

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 通常&#xff0c;PDF格式的文档能支持的编辑功能不如office文档多&#xff0c;针对PDF文档里面有表格数据的&#xff0c;如果…

SQL Server R2 地图报表制作(五)

SQL Server R2 地图报表制作&#xff08;五&#xff09; 2.3 向地图中添加线条层 在上述报表的基础上&#xff0c;我们接下来添加一个表示两个商店间路线的地图层&#xff0c;这里我们依旧使用SQL空间数据源&#xff0c;部分步骤与上一节类似&#xff0c;所不同的是相应的SQL语…

蓝桥杯评测_前n项和

问题描述求123...n的值。输入格式输入包括一个整数n。输出格式输出一行&#xff0c;包括一个整数&#xff0c;表示123...n的值。样例输入4样例输出10样例输入100 说明&#xff1a;有一些试题会给出多组样例输入输出以帮助你更好的做题。 一般在提交之前所有这些样例都需要测试通…

SQL Server 2005新特性之使用with关键字解决递归父子关系

1. 引言 现实项目中经常遇到需要处理递归父子关系的问题&#xff0c;如果把层次关系分开&#xff0c;放在多个表里通过主外键关系联接&#xff0c;最明显的问题就是扩展起来不方便&#xff0c;对于这种情况&#xff0c;一般我们会创建一个使用自连接的表来存放数据。例如存放会…

做订购系统必须要明白的几点

2019独角兽企业重金招聘Python工程师标准>>> 对价格的疑问&#xff1f; 1、用户容易把单位搞错&#xff0c;你标注的是单价&#xff0c;他理解的是整套的价格。譬如你标注的是一粒糖的价格&#xff0c;但卖的是一包糖10粒。 新增单&#xff1f;我拍了之后还想补充 2…

Oracle安装 - shmmax和shmall设置

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 一、概述 在Linux上安装oracle&#xff0c;需要对内核参数进行调整&#xff0c;其中有shmmax和shmall这两个参数&#xff…

彻底理解js中this的指向

首先必须要说的是&#xff0c;this的指向在函数定义的时候是确定不了的&#xff0c;只有函数执行的时候才能确定this到底指向谁&#xff0c;实际上this的最终指向的是那个调用它的对象&#xff08;这句话有些问题&#xff0c;后面会解释为什么会有问题&#xff0c;虽然网上大部…

linux下web压力测试工具ab使用及详解

APACHE自带的测试工具AB(apache benchmark).在APACHE的bin目录下。格式&#xff1a; ./ab [options] [http://]hostname[:port]/path参数&#xff1a; -n requests Number of requests to perform //在测试会话中所执行的请求个数。默认时&#xff0c;仅执行一个请求…

将博客文章转变为电子书

中国站长站&#xff08;mb5u.com&#xff09;11月24日消息&#xff1a;自己的博客如何保存&#xff0c;如何更好地展示出来&#xff1f;近期&#xff0c;javaeye网站推出了一项新的功能&#xff0c;把博客制作成电子书籍。 以下&#xff0c;是javaeye负责人对该功能的介绍&…

带码农《手写Mybatis》进度3:实现映射器的注册和使用

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 作者&#xff1a;小傅哥 博客&#xff1a;https://bugstack.cn 沉淀、分享、成长&#xff0c;让自己和他人都能有所收获&…

ubuntu16.04安装metasploit+postgresql

ubuntu16.04安装metasploitpostgresql 1、安装msf 1.1、打开终端&#xff0c;进入安装目录&#xff08;你想放在哪就进哪 cd /opt curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb &g…

01背包问题,动态规划求解

01背包问题&#xff1a; 1.递归思想 0- 1 背包问题如果采用递归算法来描述则非常清楚明白, 它的算法根本思想是假设用布尔函数knap( s, n) 表示n 件物品放入可容质量为s 的背包中是否有解( 当knap 函数的值为真时 说明问题有解,其值为假时无解) . 我们可以通过输入s 和n 的值, …

《C++程序设计原理与实践》读书笔记(二)

C语言提供了一些内置的类型&#xff0c;如char、int和double。对于一个类型&#xff0c;如果编译器无须借助程序员在源码中提供的任何声明&#xff0c;就知道如何表示这种类型的对象以及可以对它进行什么样的运算&#xff0c;我们就称这种类型是内置的。非内置的类型称为用户自…

SonarQube代码质量管理平台安装与使用

SonarQube代码质量管理平台安装与使用 注原文地址&#xff1a;http://blog.csdn.net/hunterno4/article/details/11687269Sonar简介 Sonar是一个用于代码质量管理的开源平台&#xff0c;用于管理源代码的质量&#xff0c;可以从七个维度检测代码质量 通过插件形式&#xff0c;可…

docker容器编排原来这么丝滑~

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 前言&#xff1a; 请各大网友尊重本人原创知识分享&#xff0c;谨记本人博客&#xff1a;南国以南i 概念介绍&#xff1a…

Ant in Action读书笔记(三):在Ant中导入环境变量

<property environment"env"/><echo message"${env.ANT_HOME}"/>能把所有的环境变量都导入成Ant的property转载于:https://www.cnblogs.com/buhaiqing/archive/2012/11/03/2752142.html

互联网思维的“独孤九剑”

课前秀&#xff1a;三个段子 第一个段子&#xff1a;有一个毫无餐饮行业经验的人&#xff0c;他开了一家餐馆&#xff0c;菜品只有12道&#xff0c;在北京只有两家分店&#xff1b;仅两个月时间&#xff0c;就实现了所在商场餐厅坪效第一名&#xff1b;绿茶单位坪效大约是100元…

linux系统分析工具续-SystemTap和火焰图(Flame Graph)

本文为网上各位大神文章的综合简单实践篇&#xff0c;参考文章较多&#xff0c;有些总结性东西&#xff0c;自认暂无法详细写出&#xff0c;建议读文中列出的参考文档&#xff0c;相信会受益颇多。下面开始吧&#xff08;本文出自 “cclo的博客” 博客&#xff0c;请务必保留此…

MySQL8.0.x 版本安装步骤傻瓜式教程【官方版】

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 MySQL8.0.x 安装 一、下载 MySQL官网下载链接&#xff1a;https://downloads.mysql.com/archives/community/ 选择版本后…