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.WorkflowRun job.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 = it
job.getBuilds().each {
it.delete()
}
job.nextBuildNumber = 1
job.save()
}

Jenkins 脚本命令行应用总结的更多相关文章

  1. 批处理脚本命令行方式关闭Windows服务

    对于一些不常用的Windows Services,可以通过设置其启动类型为"禁用"而将其关闭.这种关闭方式是长期性的,电脑重启之后仍然起作用. 有时候希望在批处理脚本里通过命令行方 ...

  2. loadrunner 运行脚本-命令行运行脚本

    Loadrunner 运行脚本-命令行运行脚本   by:授客 QQ:1033553122 脚本所在目录 Run-time Settings->Additional Attributes设置   ...

  3. LR中Vugen的多进程与多线程(脚本命令行)

    Controller使用驱动程序(如mdrv.exe或r3vuser.exe)来运行Vuser.用户可以在Controller的run-time setting中选择Vuser的运行方式:多进程/多线 ...

  4. shell脚本命令行参数里的空白符

    看一个小脚本 #!/bin/bash #demonstarting the shift command count= while [ -n "$1" ] ; do echo &qu ...

  5. PHP脚本命令行执行成功,CRON无法执行故障解决记录

    先来看看一个最简单的PHP文件(ip.php) <?php $myip = get_ip_cmd(); echo($myip); // get ip address function get_i ...

  6. monkeyrunner.bat运行python脚本/命令行

    http://luochunfeng163.blog.163.com/blog/static/1670092492014258914775/

  7. jenkins 命令行 CLI jenkins-cli.jar

    部署好jenkins后,一般都是通过jenkins提供的web界面来操作jenkins. 而有些场景则需要通过命令来操作jenkins,例如通过脚本操作jenkins. 在jenkins提供的web界 ...

  8. powershell脚本,命令行参数传值,并绑定变量的例子

    这是小技巧文章,所以文章不长.但原创唯一,非常重要.我搜了下,还真没有人发 powershell怎样 [命令行 参数 绑定],所以我决定写成博客. 搜索关键字如下: powershell 命令行 参数 ...

  9. 命令行执行jenkins,构建job(可传递参数)

    背景| 组内做UI测试,需要每天晚上执行一遍jenkins任务,jenkins任务本身是参数化构建的.但是因为jenkins本身的定时执行没有办法指定特殊的参数,所以考虑使用命令行方式启动jenkin ...

随机推荐

  1. htm5基本学习

    HTML学习 1.HTML概念 1.1.HTML是什么 Hyper Text Markup Language (超文本标记语言)包括:文字.图片.音频.视频.动画等. 1.2.HTML优势 所有浏览器 ...

  2. linux下编译安装php5.6出现 configure: error: Cannot find MySQL header files under /usr/local/mysql.

    #yum install gcc gcc-c++ libxml2 libxml2-devel libjpeg-devel libpng-devel freetype-devel openssl-dev ...

  3. pd.cut和pd.qcut()之间的区别

  4. Scipy的stats模块包含了多种概率分布的随机变量,随机变量分为连续和离散两种。+忽略程序中警告信息+np.newaxis解释

  5. 软件工程homework-004

    软件工程软件工程homework-004 博客信息 沈阳航空航天大学计算机学院2020软件工程作业 作业要求 https://edu.cnblogs.com/campus/sau/Computer17 ...

  6. netty通信

    学习netty之前,要先了解操作系统中的IO.零拷贝(已经附上链接了) 一.netty的简单介绍 Netty 是由 JBOSS 提供的一个 Java 开源框架,现为 Github 上的独立项目. Ne ...

  7. 使用WebService的优点

    1.支持跨平台,跨语言,远程调用 WSDL:web service definition language 直译 webservice定义语言 对应一种类型的文件.wsdl2.定义了web servi ...

  8. JavaWeb 03_创建servlet项目(详细)

    一.创建web项目 1. File--New--Project 2. 设置项目相关信息 3. 设置项目名称及工作空间 4. web项目目录结构如下 二.Servlet的实现 1. 新建包---类    ...

  9. Grafana镜像在阿里云镜像站首发上线

    阿里云镜像站体验官招募中, 在各大社区平台分享相关内容累计积分就可赢得Airpods耳机和移动硬盘等奖励,银牌体验官的奖励人数不设限哦.立即参与 简介 Grafana是一个跨平台的开源的度量分析和可视 ...

  10. 和风天气WebApi使用教程

    1.首先进入和风天气开发平台,点击右上角的注册进行注册 和风天气开发平台 2.填写注册用的邮箱和密码完成注册,可能还需要手机号,按提示注册完成即可. 3.从和风天气开发平台右上角进入控制台,输入你刚刚 ...