参数化pipeline,凭证管理

news/2024/11/10 11:37:38/文章来源:https://www.cnblogs.com/machangwei-8/p/18356028

 

参数化pipeline

使用parameters指令

pipeline {agent anyparameters {booleanParam(defaultValue: true,description: '',name: 'userFlag')}stages {stage('foo') {steps {echo "flag: ${params.userFlag}"}}}
}

 

创建代码仓库

 添加文件

 新建Jenkinsfile文件

再次查看,有文件,左边有仓库菜单了

新建Jenkins流水线项目

 其它不用设置,就设置流水线这里

 获取仓库地址

 

 

 点击立即构建

 手动触发构建一次后,我们看下Jenkinsfile里设置的参数化构建是否已经同步到Jenkins项目中

 查看已经同步成参数化构建,并且有个参数

我们点击查看可以添加的参数有哪些

 我们看这里,立即构建变成了构建使用参数了。我们点击一下

 布尔值参数,默认true是勾选上的

 点击构建,查看这次构建日志。获取并打印参数值是true

 parameters指令支持的参数类型以及多参数

string字符串类型

pipeline {agent anyparameters {string(name: 'DEPLOY_ENV',defaultValue: 'staging',description: '')}stages {stage('foo') {steps {echo "flag: ${params.userFlag}"}}}
}

上面的手动触发构建一次后,就同步现在修改后的Jenkinsfile参数配置

 点击构建。打印之前设置的布尔值变量,因为我们删除了,所以这个布尔值变量没了,这里获取为null。

 name就是参数变量名。我们修改为打印这个参数变量,

 再次点击构建一次,获取到我们设置的默认参数值

 text,多行文本类型,换行\n

pipeline {
    agent any
    parameters {
        text(name: 'DEPLOY_TEXT',defaultValue: 'One\nTwo\nThree\n',description: '')
    }
    stages {
        stage('foo') {
            steps {
                echo "flag: ${params.DEPLOY_TEXT}"
            }
        }
    }
}

手动触发构建,让新改的Jenkinsfile生效,下一次构建,就变成如下了

 点击构建并查看打印的变量

 

 BooleanParam 布尔型

我们上面的案例以及演示了布尔型的了,这里就不演示了

pipeline {agent anyparameters {booleanParam(name: 'DEBUG_BUILD',defaultValue: true,description: '')}stages {stage('foo') {steps {echo "flag: ${params.DEBUG_BUILD}"}}}
}

choice,选择参数类型

pipeline {agent anyparameters {choice(name: 'CHOICES', choices: 'dev\ntest\nstaging',description: '请选择部署的环境')}stages {stage('foo') {steps {echo "flag: ${params.CHOICES}"}}}
}

手动触发一次构建,同步Jenkinsfile配置,然后点击构建

 选一次测试进行构建

 查看Jenkins项目同步后配置

 file 文件类型

password 密码类型

pipeline {agent anyparameters {password(name: 'PASSWORD', defaultValue: 'SECRET',description: 'A secret password')}stages {stage('foo') {steps {echo "flag: ${params.PASSWORD}"}}}
}

手动触发一次构建,然后点击构建,可以看的已经生效

 再次点击构建,查看结果,获取到密码

 查看同步的Jenkinsfile配置

 多参数

pipeline {agent anyparameters {booleanParam(defaultValue: true,description: '',name: 'userFlag')string(name: 'DEPLOY_ENV',defaultValue: 'staging',description: '')text(name: 'DEPLOY_TEXT',defaultValue: 'One\nTwo\nThree\n',description: '')choice(name: 'CHOICES', choices: 'dev\ntest\nstaging',description: '请选择部署的环境')password(name: 'PASSWORD', defaultValue: 'SECRET',description: 'A secret password')}stages {stage('foo') {steps {echo "flag: ${params.PASSWORD}"}}}
}

手动触发构建一次,然后点击构建

 Jenkins项目配置

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/783048.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【第2期】INFINI Easysearch 免费认证培训开放报名啦

探索 Easysearch 的无限可能,与 INFINI Labs 共赴搜索技术前沿! 随着数字化转型的加速,搜索技术已成为企业数据洞察的核心。INFINI Labs 作为搜索创新技术的引领者,诚邀所有对 Easysearch 搜索引擎感兴趣的开发者、技术爱好者及合作伙伴,参加我们即将于 2024 年 8 月 17 日…

2024“钉耙编程”中国大学生算法设计超级联赛(8)

昨天是花冈柚子的生日,把这条信息转发至三个群电脑就会自动下载柚子社全家桶。我试过了是假的,而且我的电脑自动下载了原神,但昨天真的是花冈柚子的生日。目录写在前面10041007101210061005100810031010写在最后 写在前面 补提地址:https://acm.hdu.edu.cn/listproblem.php…

文献阅读——Dynamic Range Compression Preserving Local Image Contrast for Digital Video Camera

Dynamic Range Compression Preserving Local Image Contrast for Digital Video Camera 数字摄像机中保持局部图像对比度的动态范围压缩 摘要 本文提出了一种新的数字摄像机动态范围压缩方法。该算法的目的是在像素和周围注意力区域的亮度比来保持局部对比度。通常,数字视频摄…

Dynamic Range Compression Preserving Local Image Contrast for Digital Video Camera

Dynamic Range Compression Preserving Local Image Contrast for Digital Video Camera 数字摄像机中保持局部图像对比度的动态范围压缩 摘要 本文提出了一种新的数字摄像机动态范围压缩方法。该算法的目的是在像素和周围注意力区域的亮度比来保持局部对比度。通常,数字视频摄…

基于pi控制的数字锁相环simulink建模与仿真

1.算法运行效果图预览 (完整程序运行后无水印)2.算法运行软件版本 matlab2022a3.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频)01_012m4.算法理论概述数字锁相环(DPLL, Digital Phase Locked Loop)是一种重要的电路系统,广泛应用于通信、信号处理、频率合成等领…

Kubernetes 存储架构及插件使用

目录本文转载本文转载自阿里巴巴云原生微信公众号(ID:Alicloudnative)。一、Kubernetes 存储体系架构1、引例: 在 Kubernetes 中挂载一个 Volume2、Kubernetes 的存储架构3、PV Controller3.1、基本概念3.2、PV 的状态迁移图3.3、PVC 的状态迁移图3.4、PVC 绑定 PV 流程3.5…

BC变换的EWMA控制图对顺丰控股股票的分析研究

全文链接:https://tecdat.cn/?p=37326 原文出处:拓端数据部落公众号 量化投资可以带来不菲的回报,但缺乏丰富的知识却难以实现。统计质量管理的思想通俗易懂,且对于市场相对稳定的股市有监控作用。结合历史股票数据和统计质量管理的思想,对数据作合适的处理并设计合理的控…

微信小程序目录结构

一、小程序框架 微信开放平台——小程序框架介绍 小程序的目录结构很清晰,主要由描述整体内容的app和描述具体页面的page组成。一般来说,习惯对小程序的目录结构进行更加清晰的规划,例如将程序种会用到的图片统一用imgs文件夹进行管理、pages文件夹下面就是不同页面对于的子…

【架构师视角系列】风控场景下的配置中心设计思考

风控场景通常需要频繁修改策略进行攻防对抗,一般策略管理平台与策略执行引擎是两个服务,目的是为了解耦,使得业务需求的变更对策略执行引擎执行的影响最小化。通常策略引擎获取策略配置的方法有以下几种,分别是:共享存储、远程调用或配置中心。声明 原创文章,转载请标注。…

[图文直播]使用EasyOCR识别图片上的文字

安装EasyOCRC:\Users\Administrator>pip install easyocr Collecting easyocrDownloading easyocr-1.7.1-py3-none-any.whl.metadata (11 kB) Collecting torch (from easyocr)Downloading torch-2.4.0-cp312-cp312-win_amd64.whl.metadata (27 kB) Collecting torchvision&…

内心与相关构型

内心1、三条角平分线 2、在 \(\odot M\) 上(鸡爪圆上) 3、\(AI\cdot IM=AM\cdot IK=2Rr\) ,即 \(OI^2=R^2-2Rr\)4、\(\odot I\) 与 \(\odot I_A\) 关于点 \(A\) 位似,所以 \(D\) 的对径点 \(D\) 满足 \(ADX\) 共线(两个圆过这两个点的切线平行),同理 \(AD\) 过 \(X\) 的…

【Windows系列】网卡1访问外网,网卡2访问内网!

背景 一、实验环境准备二、查看ipv4服务是否勾选和开启三、修改网卡路由四、修改网卡路由背景 当我们的Windows电脑有双网卡,若这时想要实现一张网卡用于访问外网,另一张网卡用于访问内网的功能。比如通过远程电脑,然后再通过电脑去访问我们家里的NAS存储等。通常这种需求下…