jenkins变量(jenkins全局变量如何赋值)

## Jenkins 变量### 简介Jenkins 变量是构建过程中使用的占位符,用于存储和传递信息。它们使我们能够创建更加灵活和可复用的流水线,并动态地配置构建行为。### 变量类型Jenkins 提供多种类型的变量,每种类型都有其特定的用途和来源:#### 1. 环境变量

由 Jenkins 系统提供,包含有关 Jenkins 环境的信息。

例如:`JOB_NAME`、`BUILD_NUMBER`、`WORKSPACE` 等。

可直接在 shell 脚本或其他构建步骤中使用。#### 2. 全局变量

在 Jenkins 全局配置中定义,对所有作业和节点可见。

用于存储通用的配置信息,例如:工具路径、凭据 ID 等。

通过 `${VARIABLE_NAME}` 访问。#### 3. 作业参数

在作业配置中定义,允许用户在触发构建时提供自定义值。

可以是字符串、布尔值、选择列表等类型。

通过 `${PARAM_NAME}` 访问。#### 4. 流水线变量

在 Jenkinsfile 中定义,仅在当前流水线运行时有效。

可以使用 `def`、`environment` 或 `parameters` 指令定义。

用于存储中间结果、配置信息或传递给其他阶段的参数。### 使用 Jenkins 变量#### 1. 访问变量

在 shell 脚本中,使用 `$VARIABLE_NAME` 或 `${VARIABLE_NAME}` 访问变量。

在 Pipeline 语法中,使用 `${VARIABLE_NAME}` 或 `env.VARIABLE_NAME` 访问变量。#### 2. 定义变量

全局变量:

在 Jenkins 管理页面 -> 系统配置 -> 全局属性 中定义。

作业参数:

在作业配置页面 -> General -> 参数化构建过程 中定义。

流水线变量:

使用 `def`、`environment` 或 `parameters` 指令在 Jenkinsfile 中定义。#### 3. 示例##### 3.1 在 shell 脚本中使用环境变量```bash echo "构建的项目名称:${JOB_NAME}" echo "当前构建的版本号:${BUILD_NUMBER}" ```##### 3.2 在 Jenkinsfile 中使用全局变量```groovy pipeline {agent anystages {stage('构建') {steps {sh "mvn clean install -Dsonar.host.url=${SONAR_HOST}"}}} } ```##### 3.3 在 Jenkinsfile 中使用作业参数```groovy pipeline {agent anyparameters {string(name: 'BRANCH_NAME', defaultValue: 'master', description: '要构建的分支名称')}stages {stage('构建') {steps {sh "git checkout ${BRANCH_NAME}"sh "mvn clean install"}}} } ```### 最佳实践

使用有意义的变量名,以便于理解。

避免在变量名中使用空格或特殊字符。

对敏感信息,例如密码,使用 Jenkins 凭据管理功能,并通过 ID 引用。

将通用的配置信息存储在全局变量中,以便于维护。

使用作业参数来提供构建时的灵活性。### 总结Jenkins 变量是创建灵活、可复用和可配置流水线的强大工具。通过理解不同类型的变量以及如何使用它们,可以显著提高构建效率和代码质量。

Jenkins 变量

简介Jenkins 变量是构建过程中使用的占位符,用于存储和传递信息。它们使我们能够创建更加灵活和可复用的流水线,并动态地配置构建行为。

变量类型Jenkins 提供多种类型的变量,每种类型都有其特定的用途和来源:

1. 环境变量* 由 Jenkins 系统提供,包含有关 Jenkins 环境的信息。* 例如:`JOB_NAME`、`BUILD_NUMBER`、`WORKSPACE` 等。* 可直接在 shell 脚本或其他构建步骤中使用。

2. 全局变量* 在 Jenkins 全局配置中定义,对所有作业和节点可见。* 用于存储通用的配置信息,例如:工具路径、凭据 ID 等。* 通过 `${VARIABLE_NAME}` 访问。

3. 作业参数* 在作业配置中定义,允许用户在触发构建时提供自定义值。* 可以是字符串、布尔值、选择列表等类型。* 通过 `${PARAM_NAME}` 访问。

4. 流水线变量* 在 Jenkinsfile 中定义,仅在当前流水线运行时有效。* 可以使用 `def`、`environment` 或 `parameters` 指令定义。* 用于存储中间结果、配置信息或传递给其他阶段的参数。

使用 Jenkins 变量

1. 访问变量* 在 shell 脚本中,使用 `$VARIABLE_NAME` 或 `${VARIABLE_NAME}` 访问变量。* 在 Pipeline 语法中,使用 `${VARIABLE_NAME}` 或 `env.VARIABLE_NAME` 访问变量。

2. 定义变量* **全局变量:** 在 Jenkins 管理页面 -> 系统配置 -> 全局属性 中定义。* **作业参数:** 在作业配置页面 -> General -> 参数化构建过程 中定义。* **流水线变量:** 使用 `def`、`environment` 或 `parameters` 指令在 Jenkinsfile 中定义。

3. 示例

3.1 在 shell 脚本中使用环境变量```bash echo "构建的项目名称:${JOB_NAME}" echo "当前构建的版本号:${BUILD_NUMBER}" ```

3.2 在 Jenkinsfile 中使用全局变量```groovy pipeline {agent anystages {stage('构建') {steps {sh "mvn clean install -Dsonar.host.url=${SONAR_HOST}"}}} } ```

3.3 在 Jenkinsfile 中使用作业参数```groovy pipeline {agent anyparameters {string(name: 'BRANCH_NAME', defaultValue: 'master', description: '要构建的分支名称')}stages {stage('构建') {steps {sh "git checkout ${BRANCH_NAME}"sh "mvn clean install"}}} } ```

最佳实践* 使用有意义的变量名,以便于理解。 * 避免在变量名中使用空格或特殊字符。 * 对敏感信息,例如密码,使用 Jenkins 凭据管理功能,并通过 ID 引用。 * 将通用的配置信息存储在全局变量中,以便于维护。 * 使用作业参数来提供构建时的灵活性。

总结Jenkins 变量是创建灵活、可复用和可配置流水线的强大工具。通过理解不同类型的变量以及如何使用它们,可以显著提高构建效率和代码质量。

Powered By Z-BlogPHP 1.7.2

备案号:蜀ICP备2023005218号