嘉兴做美食图片的网站,常州外贸网站制作,软件开发工具包括,宁波企业网站排名方法文章目录 问题简介Groovy 脚本配置进阶 问题
在做jenkins项目时#xff0c;有些参数不是固定写死的#xff0c;而是动态变化的#xff0c;这时我们可以用 Active Choices 插件来远程调用参数
问题解决方案#xff1a;执行构建前使用Groovy Scrip调用本地脚本#xff0c;… 文章目录 问题简介Groovy 脚本配置进阶 问题
在做jenkins项目时有些参数不是固定写死的而是动态变化的这时我们可以用 Active Choices 插件来远程调用参数
问题解决方案执行构建前使用Groovy Scrip调用本地脚本本地脚本执行获取参数的逻辑 本文所用环境centos7 、jenkins2.107 简介
Active Choices 插件用于参数动态变化的 Jenkins 作业可以是创建脚本、动态和交互式作业参数。Active Choices参数可以动态更新并且可以呈现为组合框、复选框、单选按钮或丰富的 HTML UI 小部件。
Active Choices 参数使用 Groovy 或可选Scriptler Groovy 脚本编写脚本。这些自定义脚本支持使用 Jenkins Java API、系统环境变量、全局节点属性以及潜在的外部 Java 和 Javascript 库。
安装插件后可以使用三种新参数类型
Active Choices ParameterActive Choices Reactive ParameterActive Choices Reactive Reference Parameter
注意Reactive Parameter 参数允许参数显示为格式化的 HTML。使用此功能配置作业时请注意参数的呈现方式以及它可能产生的安全问题
Active Choices 参数允许用户选择构建参数的值为
动态生成使用 Groovy 或Scriptler脚本根据其他 UI 参数动态更新多值可以有多个值使用各种 UI控件呈现包括动态 HTML请注意相关安全风险
Groovy 脚本配置
参数化构建选择Active Choices Reactive Parameter低版本只可选择Groovy Script 无论是Groovy 代码或 Scriptlet 脚本该脚本必须返回java.util.List 、Array或java.util.Map如下例所示
return [Option 1, Option 2, Option 3]要解决本文问题我们设置如下Groovy代码
def command sh get_list.sh
def proc command.execute()
proc.waitFor()
def list []
list ${proc.in.text} .eachLine { line -list line
}
return list注意get_list.sh在jenkins部署机器上存放路径为jenkins项目启动路径内容也较为简单根据实际修改
echo Option0
echo Option1
echo Option2
echo Option3进阶
如果我们想某些参数不可选或者默认选一个参数又如何设置呢 那就是Groovy返回值加上 :selected 或:disabled 类似如下
echo Option0:selected
echo Option1
Active Choices Reactive 参数配置有一组与上面显示的 Active Choices 参数类似的选项。但是该参数提供了附加的“引用参数”配置选项。 即当任何“引用参数”发生更改时这些参数会触发Active Choices Reactive参数的自动刷新