3.9. 构建环境
与 Pod 环境变量一样,可以定义构建环境变量,在使用 Downward API 时引用其他源或变量。需要注意一些例外情况。
您也可以使用 oc set env
命令管理 BuildConfig
中定义的环境变量。
注意
不支持在构建环境变量中使用 valueFrom
引用容器资源,因为这种引用在创建容器之前解析。
3.9.1. 使用构建字段作为环境变量
您可以注入构建对象的信息,使用 fieldPath
环境变量源指定要获取值的字段的 JsonPath
。
注意
Jenkins Pipeline 策略不支持将 valueFrom
语法用于环境变量。
流程
将
fieldPath
环境变量源设置为您有兴趣获取其值的字段的JsonPath
:env: - name: FIELDREF_ENV valueFrom: fieldRef: fieldPath: metadata.name
3.9.2. 使用 secret 作为环境变量
您可以使用 valueFrom
语法,将 secret 的键值作为环境变量提供。
重要
此方法在构建容器集控制台的输出中以纯文本形式显示机密。要避免这种情况,请使用输入 secret 和配置映射。
流程
要将 secret 用作环境变量,请设置
valueFrom
语法:apiVersion: build.openshift.io/v1 kind: BuildConfig metadata: name: secret-example-bc spec: strategy: sourceStrategy: env: - name: MYVAL valueFrom: secretKeyRef: key: myval name: mysecret
其他资源