【发布时间】:2018-10-05 17:16:16
【问题描述】:
OpenShift 构建参数(使用 OpenShift Docker 构建策略)是否会作为 Docker 构建参数 (ARG) 或环境变量 (ENV) 自动暴露给 Dockerfiles,或者这是否需要在 @987654324 中进行显式配置@例如在这些地方:
oc explain bc.spec.strategy.dockerStrategy.buildArgs
oc explain bc.spec.strategy.dockerStrategy.env
我要问的原因是我有一个带有多个参数的模板,还没有明确的配置,但是在 Dockerfile 中可以访问某些参数的明显情况(如$VAR) 和其他参数不是($VAR 是空)。在进一步调试我的情况之前,我想了解正常行为。
更新我现在为模板中的“missing”参数添加了oc explain bc.spec.strategy.dockerStrategy.buildArgs 部分,如下所示:
strategy:
type: Docker
dockerStrategy:
buildArgs:
- name: VAR
value: ${VAR}
但它的值在构建的容器中仍然是空的,而我预计它是true(因为我用oc new-app ... VAR=true 开始构建。所以其他东西也一定是错的。
【问题讨论】:
-
设置了哪些?一般来说,答案是参数不会以任何方式自动传递给构建。系统确实为与构建相关的事物设置了一些值,但它们没有链接到模板参数。