Groovy 简介
或许,在此之前,我们都忽略了Jenkins对 Groovy 的强大支持,首先Jenkins本身就是用Java开发,而Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。
由于其运行在 JVM 上的特性,Groovy 可以使用其他 Java 语言编写的库。并且,Jenkins也提供了很多Groovy的执行接口,例如你可以访问:www.your-jenkins-server.com/script 来编写和执行Groovy脚本。
Groovy语言还是比较简单的,如果只是用在Jenkins上的话,稍微学习点基础应该就可以了,事实上,Groovy在Jenkins中的应用无处不在,同时也遍及众多插件,例如:Groovy+plugin, Scriptler+Plugin, Token+Macro+Plugin 等等。因此本文不会对Groovy语言本身做过多的介绍和写一些复杂的例子,而是会以 Dynamic Parameter Plugin 为例,通过以下几个简单用法来介绍一下它对Jenkins项目的重大帮助,
测试你的Groovy代码
自动获取上一次的构建参数值,生成runtime参数(例如日期时间,变量自增)
自动生成可选参数列表(包括静态的和动态的)
I. 测试你的Groovy代码
如果你手头没有Groovy的运行环境(Groovy有eclipse插件),你只需要在你的Jenkins url后面加上script:www.your-jenkins-server.com/script,就进入了Groovy Script Console,你可以在这里写任何你想要测试的代码,如图:
II. 自动获取上一次的构建参数值,以及生成runtime运行时参数
要是用动态参数构建,首先我们需要安装 Dynamic Parameter Plugin ,在安装完以后,进入项目配置页,添加参数化构建,有四个选项可选,如下图所示,如果是生成简单的运行时参数,只需要选择第三项 "Dynamic Parameter" 即可:
例如你想要获得当前日期,可以使用:
new Date().format('yyyyMMdd'
1
|
new Date().format('yyyyMMdd'
|
如果你想要获取上一次build的参数值,可以使用以下代码:
jenkins.model.Jenkins.instance.getItem("你的项目名").lastBuild.getBuildVariables().get("参数名");
1
|
jenkins.model.Jenkins.instance.getItem("你的项目名").lastBuild.getBuildVariables().get("参数名");
|
III. 自动生成实时可选的动态参数列表
想要获得简单的列表选项,只需要使用Groovy的列表就可以了,如:
list = "1 2 3 4 5"
list.tokenize()
1
2
|
list = "1 2 3 4 5"
list.tokenize()
|
原文转自:hhttp://scmbob.org/groovy-in-jenkins.html