gpt4 book ai didi

docker - 如何在构建期间通过 cloudbuild.yaml 正确获取/设置环境变量?

转载 作者:行者123 更新时间:2023-12-02 20:47:33 24 4
gpt4 key购买 nike

我正在使用 Google Cloud Container Builder 构建我的图像。我将它连接到我的 GitHub 存储库,因此它是通过推送到特定分支来触发的。我为我的构建步骤显式提供了一些环境变量并使用了介词。

云构建.yaml

steps:
...
- name: gcr.io/cloud-builders/docker
args: ['build', '-t', 'eu.gcr.io/${PROJECT_ID}/project-name:${SHORT_SHA}', '.']
env:
- 'TEST_ENV=test123'
- 'TEST=${_TEST}'
...

docker 文件

FROM alpine:latest

RUN printenv

...

我可以在 Env 的构建详细信息中看到我的环境变量。触发构建时此构建步骤的 Vars 部分:TEST_ENV=test123 TEST=test_prepositon

但是当 RUN printenv 被执行时,我只看到 HOSTNAME, SHLVL, HOME, PATH, PWD 环境变量。

我的错误在哪里?提前谢谢你。

最佳答案

这是您要查找的内容的完整示例。

云构建.yaml:

steps:
- name: "gcr.io/cloud-builders/docker"
args: [
"build",
"-t",
"gcr.io/$PROJECT_ID/$REPO_NAME:$SHORT_SHA",
".",
"--build-args", "SOME_ARG=${_VAR_NAME_FROM_GOOGLE_TRIGGERS}"
]

docker 文件:

ARG SOME_ARG
ENV SOME_ENV_VAR_NAME=${SOME_ARG}

可以在 docker 容器中访问变量 SOME_ENV_VAR_NAME

此外,我想添加 2 篇解释 docker arg 和 env 的精彩文章:

关于docker - 如何在构建期间通过 cloudbuild.yaml 正确获取/设置环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49531100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com