环境变量可以像下面的示例设置为全局的,也可以是阶段(stage)级别的。 如你所想,阶段(stage)级别的环境变量只能在定义变量的阶段(stage)使用。
pipeline {
agent any
environment {
DISABLE_AUTH = 'true'
DB_ENGINE = 'sqlite'
}
stages {
stage('Build') {
steps {
sh 'printenv'
}
}
}
}
这种在 Jenkinsfile 中定义环境变量的方法对于指令性的脚本定义非常有用方便, 比如 Makefile 文件,可以在 Pipeline 中配置构建或者测试的环境,然后在 Jenkins 中运行。
环境变量的另一个常见用途是设置或者覆盖构建或测试脚本中的凭证。 因为把凭证信息直接写入 Jenkinsfile 很显然是一个坏主意, Jenkins Pipeline 允许用户快速安全地访问在 Jenkinsfile 中预定义的凭证信息,并且无需知道它们的值。
本文介绍了如何在 Jenkinsfile 中设置全局和阶段级别的环境变量,强调了环境变量在构建和测试脚本中的作用,特别是在安全地访问预定义凭证信息方面的应用。通过示例展示了如何在 Pipeline 中定义并使用这些变量,同时指出直接在 Jenkinsfile 中硬编码凭证信息的潜在风险。
2664

被折叠的 条评论
为什么被折叠?



