Jenkins 插件 Extended Choice Parameter
stage("DeployHosts"){steps {script {println(env.deployHosts)for (host in "${env.deployHosts}".split(",")){sh "echo ${host}"}}}
高级一点的用法,input和Extended Choice Parameter结合
/*
清理docker镜像1. 获取镜像列表
2. 用户选择删除
3. 调用api删除*/
pipeline {agent {label "build"}stages{stage("GetTags"){steps{script{env.projectName = "library"env.repoName = "sonarqube"env.result = GetArtifactTag(env.projectName, env.repoName)env.result = env.result - '[' - ']'println(result) // 8.9, 8.9.1, 8.9.2-community}}}stage("Clean"){steps{script{def result = input message: "是否删除${env.projectName}项目的${env.repoName}这些标签:", parameters: [extendedChoice(defaultValue: "${env.result}", multiSelectDelimiter: ',', name: 'taga', quoteValue: false, saveJSONParameterToFile: false, type: 'PT_CHECKBOX', value: "${env.result}", visibleItemCount: 20)]println("${result}")// println("Delete ${taga}, doing.......")// tags = "${taga}" - '[' - ']'for(t in result.split(',')){println("Delete >>>>" + t.trim())DeleteArtifactTag(env.projectName,env.repoName, t.trim())}}}}}
}// 删除镜像tag
def DeleteArtifactTag(projectName,repoName, tagName){harborAPI = "http://192.168.1.200:8088/api/v2.0/projects/${projectName}/repositories/${repoName}"apiURL = "artifacts/${tagName}/tags/${tagName}"sh """ curl -X DELETE "${harborAPI}/${apiURL}" -H "accept: application/json" -u admin:Harbor12345 """
}// 获取镜像的所有标签
// acmp-nginx-service
def GetArtifactTag(projectName,repoName ){harborAPI = "http://121.40.102.116:8888/api/v2.0/projects/${projectName}/repositories/${repoName}"apiURL = "artifacts?page=1&page_size=10"response = sh returnStdout: true, script: """curl -X GET "${harborAPI}/${apiURL}" -H "accept: application/json" -u admin:Harbor12345 """response = readJSON text: """${response - "\n"}""" tags = []for (t in response[0].tags){tags << t.name}return tags // [8.9, 8.9.1, 8.9.2-community]
}
Jenkins 插件 Extended Choice Parameter相关推荐
- jenkins pipeline Extended Choice Parameter
Jenkins pipeline 中参数使用复选框,使用插件 Extended Choice Parameter ,申明式pipeline脚本如下 parameters {extendedChoice ...
- jenkins Extended Choice Parameter 使用groovy显示数据
def retobj="sh /tmp/xxx.sh".execute().text.readLines() retobj.each{ println it }
- linux jenkins 插件,使用Jenkins Dashboard插件可视化部署,
使用Jenkins Dashboard插件可视化部署, 使用Jenkins可视化部署 插件地址:https://plugins.jenkins.io/deploy-dashboard/ 插件名称:De ...
- 【Jenkins插件】之Generic Webhook Trigger
Generic Webhook Trigger 是一款Jenkins插件,安装后会暴露出来一个公共API,该插件接收到 JSON 或 XML 的 HTTP POST 请求后,根据咱们配置的规则决定触发 ...
- Jenkins 插件 地址证书报错问题解决思路
问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target ... ...
- jenkins(4): jenkins 插件
1. jenkins插件下载镜像加速 jenkins插件清华大学镜像地址 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-ce ...
- 安装jenkins插件的两种方法
安装jenkins插件有两种方法,一种是在线安装,一种是离线安装.两种方式介绍如下: 1.如果服务器可以上网,那边选择在线安装最好不过了,安装流程为: 系统管理----插件管理---选择需要的插件直接 ...
- Jenkins 插件安装方式全攻略
在Jenkins 的安装向导页面中, 会有一步是否安装推荐的插件, 可以直接进行安装, 也可以跳过. 对于安装机器联网的状况, 安装插件相对方便,直接搜索插件安装, 但是也可能会出现无法在线安装的状况 ...
- jenkins 插件目录_Windows下allure+pytest+jenkins集成手册!
Pytest是什么 pytest是python的一款测试框架,拥有unittest的功能并比它更丰富. Allure是什么 有非常多的优秀的测试框架,但却是有非常少优秀的报告工具可以展示非常清楚的用例 ...
最新文章
- leetCode C++ 49. 字母异位词分组 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。
- html5判断设备的动作
- 删除kafka topic
- HTML5 input 类型
- mybatis的mapper接口与xml传参问题
- 流程图和布局套件模板
- 使用Elasticsearch和C#理解和实现CRUD APP的初学者教程——第2部分
- 关于_MSC_VER的说明
- tf.train.Saver,和模型参数微调
- 【新版】Android技术博客精华汇总
- php商品详情页页面代码,商品详情页是怎么生成的?
- 原来系统还能这么装!教你虚拟光驱Daemon重装win10
- ajax速度axio速度,axio跨域请求,vue中的config的配置项。
- HTML的font标签的使用
- Transformer论文翻译
- B. A and B
- 以太网交换机可以家用吗_家用交换机是干什么用的?
- 组策略 禁止用户策略下发到指定计算机,如何通过组策略限制域里面某一指定用户...
- Getter和Setter是什么?有什么作用?实现多种数据类型的Getter、Setter方法?实现Getter、Setter的常见的错误?
- 一文看懂:华为管理内控体系,到底厉害在哪里
热门文章
- 之江汇空间如何加音乐背景_之江汇互动课堂使用方法
- ?? 关于zmq_proxy
- Raspberry Pi OS_ Raspbian安装教程
- 高斯判别分析- GDA原理简介
- 【计算理论】计算复杂性 ( NP 完全问题 - 布尔可满足性问题 ★ | 布尔可满足性问题是 NP 完全问题证明思路 ) ★
- 移动互联网如何改变了外卖行业
- linux下的php编辑器
- CSS—移动端适配方案flexible.js
- 大学四年如何规划之出国留学
- windows 7 管理员获得所有权限的注册表文件