Groovy脚本在Jenkins中的应用

发表于:2013-12-18来源:扛一肩记忆作者:Bob.B点击数: 标签:Groovy
Groovy脚本在Jenkins中的应用.或许,在此之前,我们都忽略了Jenkins对 Groovy 的强大支持,首先Jenkins本身就是用Java开发,而Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结

  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