8.5.4.2. 环境变量
要将环境变量提供给 Pipeline 构建过程使用,您可以在 BuildConfig
的 jenkinsPipelineStrategy
定义中添加环境变量。
定义后,环境变量将设置为与 BuildConfig
关联的任何 Jenkins 任务的参数。
例如:
jenkinsPipelineStrategy: ... env: - name: "FOO" value: "BAR"
您还可以使用 oc set env
命令管理 BuildConfig
中定义的环境变量。
8.5.4.2.1. BuildConfig 环境变量和 Jenkins 任务参数之间的映射
基于对 Pipeline 策略的 BuildConfig
的更改创建或更新 Jenkins 任务时,BuildConfig
中的任何环境变量都会映射到 Jenkins 任务参数定义,其中 Jenkins 任务参数定义的默认值是相关联的环境变量的当前值。
在 Jenkins 任务初始创建之后,您仍然可以从 Jenkins 控制台向任务添加其他参数。参数名称与 BuildConfig
中的环境变量名称不同。为这些 Jenkins 任务启动构建时,将遵循这些参数。
为 Jenkins 任务启动构建的方式决定了如何设置参数。如果使用 oc start-build
启动,则 BuildConfig
中环境变量的值是为对应任务实例设置的参数。您在 Jenkins 控制台中对参数默认值所做的更改都将被忽略。BuildConfig
值具有优先权。
如果使用 oc start-build -e
启动,则 -e
选项中指定的环境变量值具有优先权。而且,如果指定没有列在 BuildConfig
中的环境变量,它们将添加为 Jenkins 任务参数定义。此外,您从 Jenkins 控制台对与环境变量对应的参数所做的更改都将被忽略。BuildConfig
以及您通过 oc start-build -e
指定的值将具有优先权。
如果通过 Jenkins 控制台启动 Jenkins 任务,则您可以通过 Jenkins 控制台控制参数的设置,作为启动任务构建的一部分。
在 BuildConfig
中指定所有可能的环境变量和作业参数会减少磁盘 I/O,并在 Jenkins 处理过程中提高性能。