接触Jenkins(Hudson)API,第2部分

这篇文章从本教程的 第1部分继续。 已经快一年了,但是我终于有时间重新审视我为 与Jenkins api交互而编写的一些代码。 我已经使用了部分工作来帮助管理许多 Jenkins构建服务器,主要是保持插件同步以及将作业从一台机器移动到另一台机器。 在本文中,我将主要关注 CLI jar功能以及您可以使用它进行的一些操作。 这主要是针对Jenkins开发的,但是我对 Hudson进行了一些轻量级测试,并且可以在我尝试过的所有地方工作,因此对于您选择的构建服务器,代码始终是不可知的。

项目结构

代码托管在Github上 ,并提供一个Gradle构建,该构建可在本地下载并启动Jenkins(或Hudson)服务器以执行测试。 服务器设置为使用Gradle构建目录作为其工作目录,因此只需执行gradle clean即可将其删除。 我使用所需库的Jenkins版本和Hudson版本进行了尝试,除了两个CLI实现之间的一些古怪之处外,它们的功能仍然相同。 如果要使用Hudson而不是Jenkins进行尝试,请传递命令标志-Pswitch,并将使用适当的war和库。 该项目旨在与Gradle 1.0-milestone-8一起运行,并带有该版本的Gradle包装器 。 自原始文章以来,大多数代码都保持不变,但是对Jenkins和Hudson的较新版本进行了一些增强和更改。
该项目产生的库以Maven工件的形式发布,稍后我将确切描述如何实现。 还包括一些示例,这些示例演示了在Gradle或Maven项目中以及在Grapes的Groovy脚本中如何使用该库。 我们使用Groovy 1.8.6,Gradle 1.0-milestone-8和Maven 3.0.3构建所有内容。

充分利用CLI

作为api的替代方法,CLI jar是一种非常强大的与构建服务器进行交互的方式。 除了各种内置命令之外,Groovy脚本还可以远程执行,而我们只需付出一点努力就可以轻松地序列化响应,以处理服务器上提取的数据。 作为执行环境,服务器提供Groovysh Shell并为hudson.model包存储导入。 该包中的Jenkins / Hudson单例对象的实例也传递给Binding 。 在这些示例中,我使用的是向后兼容的Hudson版本,因为该代码旨在在两种服务器上均可运行。

可用命令

内置命令种类繁多,所有这些命令均在hudson.cli包中实现。 以下是正在运行的应用程序的CLI页面上列出的内容:

  • build:构建作业,并且可以选择等待直到完成。
  • cancel-quiet-down:取消“ quiet-down”命令的效果。
  • clear-queue:清除构建队列
  • connect-node:重新连接到节点
  • 复制作业:复制一份工作。
  • create-job:通过读取stdin作为配置XML文件来创建新作业。
  • delete-builds:删除构建记录。
  • delete-job:删除工作
  • delete-node:删除节点
  • disable-job:禁用工作
  • 断开节点:与节点断开连接
  • enable-job:启用工作
  • get-job:将作业定义XML转储到stdout
  • groovy:执行指定的Groovy脚本。
  • groovysh
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值