在使用Pipeline项目时 一般都是参数化构建工作,在Jenkins的构建需要使用参数类型有复选框,单选按钮,多选值等输入的情景。
转到→管理Jenkins→选择管理插件→选择可用选项卡,然后搜索主动选择插件。安装并重新启动Jenkins,以正确安装插件。我的已经安装好,因此在“已安装”标签中列出。
主动选择参数
使用Groovy脚本或Scriptler目录中的脚本为生成参数动态生成值选项列表。参数可以动态更新,呈现为组合框,复选框,单选按钮或丰富的HTML UI窗口小部件。
按住Ctrl 就可以多选了。
主动选择反应参数
当作业中UI控件的值发生更改时,可以动态更新(主动选择和响应参考参数) 这里可以使用IF进行条件判断,输出相关的值。
Jenkinsfile
- properties([
- parameters([
- [$class: 'ChoiceParameter',
- choiceType: 'PT_SINGLE_SELECT',
- description: 'Select the Env Name from the Dropdown List',
- filterLength: 1,
- filterable: true,
- name: 'Env',
- randomName: 'choice-parameter-5631314439613978',
- script: [
- $class: 'GroovyScript',
- fallbackScript: [
- classpath: [],
- sandbox: false,
- script:
- 'return[\'Could not get Env\']'
- ],
- script: [
- classpath: [],
- sandbox: false,
- script:
- 'return["Dev","QA","Stage","Prod"]'
- ]
- ]
- ],
- [$class: 'CascadeChoiceParameter',
- choiceType: 'PT_SINGLE_SELECT',
- description: 'Select the Server from the Dropdown List',
- filterLength: 1,
- filterable: true,
- name: 'Server',
- randomName: 'choice-parameter-5631314456178619',
- referencedParameters: 'Env',
- script: [
- $class: 'GroovyScript',
- fallbackScript: [
- classpath: [],
- sandbox: false,
- script:
- 'return[\'Could not get Environment from Env Param\']'
- ],
- script: [
- classpath: [],
- sandbox: false,
- script:
- ''' if (Env.equals("Dev")){
- return["devaaa001","devaaa002","devbbb001","devbbb002","devccc001","devccc002"]
- }
- else if(Env.equals("QA")){
- return["qaaaa001","qabbb002","qaccc003"]
- }
- else if(Env.equals("Stage")){
- return["staaa001","stbbb002","stccc003"]
- }
- else if(Env.equals("Prod")){
- return["praaa001","prbbb002","prccc003"]
- }
- '''
- ]
- ]
- ]
- ])
- ])
- pipeline {
- environment {
- vari = ""
- }
- agent any
- stages {
- stage ("Example") {
- steps {
- script{
- echo 'Hello'
- echo "${params.Env}"
- echo "${params.Server}"
- if (params.Server.equals("Could not get Environment from Env Param")) {
- echo "Must be the first build after Pipeline deployment. Aborting the build"
- currentBuild.result = 'ABORTED'
- return
- }
- echo "Crossed param validation"
- } }
- }
- }
- }
html即超文本标记语言,现在大多网页都是html的格式。而所谓的html文件,其实就...
1.GitHub 镜像访问 这里提供两个最常用的镜像地址: https://github.com.cnpmjs....
3月中旬,微软官方已经发布了dotnet 5的第一个预览版:5.0.0-preview.1。 dotnet...
智慧安防是智慧城市建设中的重要部分被誉为智慧城市中的隐形安全网。在面临着智...
前言 无论你是否想自学 Java认真看完本文你以后的职场生涯至少少走1年弯路。 本...
背景 作为一名MySQL DBA,就应该了解MySQL备份无论是逻辑备份还是物理备份,都会...
复制代码 代码如下: '过程:输出字符串[代替Response.Write] Sub echo(Str) resp...
Base64编码,是我们程序开发中经常使用到的编码方法。它是一种基于用64个可打印...
木马原理:入侵者使用诸如ASP图片木马生成器之类的工具将一张正常的图片与一个AS...
前言 提示: 今天学习了一个js的小案例,来和可乐一起学习探讨下吧 skr~ 效果: ...