Jenkins 带参数执行shell脚本
创始人
2024-03-14 10:14:01
0

日常工作中经常会手动部署或者自动触发部署一些项目,可以用Jenkins来执行,方便记录以及可视化。

安装参数化插件

  1. 进入0.0.0.0:8080 分别选择 Manage Jenkins->Manage Plugins进入安装插件界面,选择Available plugins查找可用的插件
  2. 查找Parameterized Trigger插件,并且下载安装,等待下载完成

![image.png](https://img-blog.csdnimg.cn/img_convert/9fd51e5b0a37db9f6e59502aeab90b16.png#averageHue=#f3edd5&clientId=u8cc43884-a450-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=435&id=u7f41eac6&margin=[object Object]&name=image.png&originHeight=435&originWidth=938&originalType=binary&ratio=1&rotation=0&showTitle=false&size=40300&status=done&style=none&taskId=ue11f296c-91e3-46b8-8e06-587f9fd9a76&title=&width=938)

参数化构建指南

Jenkins允许我们将参数传递到项目中。我们有多种构建参数可供选择,只要下载对应插件就能实现,比如git分支名称、主机名或者端口等等。

添加参数

Jenkins 支持参数化构建或者Pipeline,我们只需要开启常规设置中的This project isparameterized->Add Parameter
![image.png](https://img-blog.csdnimg.cn/img_convert/92a4e022199575acb5b32ca236b8272e.png#averageHue=#fcfafa&clientId=u8cc43884-a450-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=391&id=uf30fb796&margin=[object Object]&name=image.png&originHeight=391&originWidth=895&originalType=binary&ratio=1&rotation=0&showTitle=false&size=33732&status=done&style=none&taskId=u46ee0e27-838f-49df-9f71-901de201971&title=&width=895)
可以从上图看到可供选择的参数很多,这边选择Boolean Parameter参数
![image.png](https://img-blog.csdnimg.cn/img_convert/1786b46d9df7bdf4e0bbde292bb4fb64.png#averageHue=#fefefe&clientId=u8cc43884-a450-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=537&id=u6a4f980f&margin=[object Object]&name=image.png&originHeight=537&originWidth=769&originalType=binary&ratio=1&rotation=0&showTitle=false&size=29673&status=done&style=none&taskId=u8891b56a-67ff-4ce2-ba3d-71995769a23&title=&width=769)
其中有几个信息:

  • 名称:参数变量名称
  • 默认值:用户没指定时将使用默认值
  • 描述: 描述如何使用该参数

单个Jenkins项目可以有多个参数。唯一的限制是参数名必须不同于系统参数名,而且是唯一的

使用参数

我们可以在常规设置中使用该参数,也可以在shell脚本中使用参数
假设我们现在有一个名为gitTag的构建参数,在常用设置里可以这样访问参数。
![image.png](https://img-blog.csdnimg.cn/img_convert/82ebedb0ef69e4197353e3afbc9413ae.png#averageHue=#fefefe&clientId=u8cc43884-a450-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=213&id=ue31143ac&margin=[object Object]&name=image.png&originHeight=213&originWidth=701&originalType=binary&ratio=1&rotation=0&showTitle=false&size=14380&status=done&style=none&taskId=ue76a6cdd-cae7-4443-9cb5-9ce9f03b541&title=&width=701)

${gitTag}

在shell脚本中我们可以使用shell语法直接访问该参数。
![image.png](https://img-blog.csdnimg.cn/img_convert/c319d9d699f384ae436eea70cd3649a2.png#averageHue=#fefefe&clientId=u8cc43884-a450-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=303&id=u8b20fd65&margin=[object Object]&name=image.png&originHeight=303&originWidth=696&originalType=binary&ratio=1&rotation=0&showTitle=false&size=15366&status=done&style=none&taskId=uec50e591-d79e-45d2-bbaa-b48fa5e7756&title=&width=696)

$ echo $gitTag

Reference:

https://www.baeldung.com/ops/jenkins-parameterized-builds

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...