Jenkins 是一个开源和可扩展的持续集成和持续部署服务器。它用于自动化持续集成和持续部署(CI/CD)的过程。监控远程工作和与团队成员互动以获得稳定代码的重要性是巨大的;Jenkins 负责所有这些要求,并允许通过插件、管道和 Jenkins 环境变量进行平滑集成。
如果您是想要增加 CI 和 CD 知识的典型 Jenkins 用户,则必须学习一些基本概念。在本Jenkins 教程中,我们将了解 Jenkins 管道环境变量的关键概念。我们还将查看和安装 LambdaTest Jenkins 插件,并使用 Jenkins 环境变量列表中的内置变量。
那么,让我们开始吧!
什么是 Jenkins 流水线环境变量?
在为 Jenkins 流水线编写脚本时,需要注入和使用一些动态值。这些对于避免将每个值硬编码到管道中特别有用。对于这种动态集成,Jenkins 设置了环境变量。
Jenkins 环境变量是一个全局变量,通过 env 变量公开并用于 Jenkins 管道和 Jenkinsfile 中的任何位置。在 env 变量中存储为环境变量的任何值都是字符串类型。
Jenkins 管道环境变量促进了以下好处:
- 在运行时注入敏感数据以避免硬编码到管道中。
- 添加仅在运行时可用但在设计时不可用的作业参数。
- 在环境变量中设置的布尔值通过描述您要运行的特定测试子集的参数来帮助管道中的某些切换阶段。
- 提供 Jenkins 中定义的凭据 ID。
在 Jenkins 管道中,有很多有用的环境变量可以在构建执行期间访问和维护;一些最有用的是:
- env: env 用于在 groovy 代码中以 env.VARNAME 或简单地作为 VARNAME 访问 Jenkins 管道环境变量。env 前缀还访问 Jenkins 管道中提供的环境变量。
- currentBuild:顾名思义,它解决了当前正在运行的 Jenkins 管道构建。
- params:为从具有各种类型变量的只读映射成功构建提供的所有参数。这些可以通过参数访问。
- docker:这提供了在 Jenkins 管道的 Groovy 脚本中方便地访问与 Docker 相关的功能。
为了简化管道的构建,Jenkins 为我们提供了 Jenkins 环境变量列表。此列表包含一些最常用的变量。让我们从浏览环境变量列表开始。
查看 Jenkins 环境变量列表
Jenkins 使用环境变量公开组件的关键特征。因此,Jenkins 已经定义了一组这些变量。这包括有关作业和正在运行的特定构建的信息。一些最常用的变量是:
变量的名称 | 描述 | 例子 |
---|---|---|
JOB_NAME | 提供 Jenkins 中的作业名称 | 环境变量 |
JOB_URL | 在 Jenkins UI 中提供作业的 URL | http://localhost:8082/job/envvars/ |
BUILD_NUMBER | 在 Jenkins 控制台输出中打印内部版本号 | 5,6等 |
BUILD_TAG | 为特定作业名称和内部版本号提供唯一标签 | envvars-build-8 |
可以使用两种不同的方式查看 Jenkins 环境变量列表。
1. 通过 Env-vars.html:
可以在 HTML 页面上查看环境变量。您必须在 Jenkins 控制器服务器上打开该页面。查看Jenkins环境变量列表的步骤是:
1. 在chrome的地址栏,输入${YOUR_JENKINS_HOST}/env-vars.html
。
2. ${YOUR_JENKINS_HOST} 本身是一个环境变量,定义了 Jenkins 主机地址/Jenkins URL(应该是http://localhost:8080/
)。
3. env-vars.html 是包含所有Jenkins环境变量列表的HTML文件。
2. 通过 Windows 批处理脚本/Shell 命令:
您还可以通过在 Jenkins 管道的 groovy 脚本中编写 shell 命令来列出所有环境变量。执行相同操作的步骤是:
1. 在 Jenkins 中创建一个名为“ envvars ”的新管道。
2. 在Pipeline Script中,键入以下 groovy 脚本。
pipeline{
agent any
stages{
stage("Env Variables"){
steps{
bat ‘set’
}
}
}
}
3.这里使用的windows批处理命令是“ set ”。此命令在日志中列出所有 Jenkins 管道环境变量。
4. 对于 Linux/Unix,可以使用 shell 命令“ printenv ”,如:
sh 'printenv'。