在此之前,我有一个makefile,其中包含docker build和docker run的命令。我还有一个由makefile导入的配置文件,它有一些变量值。然后,我使用build-arg标志为dockerfile和我的代码中使用的变量赋值。
现在我想切换到Google Cloud Build并使用yaml配置。我知道yaml配置文件的结构,并且仍然可以使用build-arg标志。但是,我仍然可以像以前一样导入我的配置文件并分配变量值吗?
发布于 2020-05-30 12:06:10
您分享的有关当前流程的信息很少,但我将尝试为您提供一些提示
首先,你可以导入你的文件。我不知道它在哪里,但如果它在谷歌CLoud存储上,你可以做到这一点
step:
- name: gcr.io/cloud-builders/gcloud:latest
entrypoint: "gsutil"
args: ["cp","gs://yourbuket/config.file", "/workspace/config.file"]
然后,这是云构建的无聊之处,你不能在代码中(我的意思是动态地)和所有步骤定义全局环境变量。你必须一步一步地来做,例如像这样
step:
....
- name: gcr.io/cloud-builders/gcloud:latest
entrypoint: "bash"
args:
- "-c"
- |
# Add it in the environment
export MY_VAR=$(grep MY_VAR /workspace/config.file | cut -d'=' -f2)
这里我假设配置文件格式为key=value
如果你需要在Docker Build中添加它,你可以用-e
参数做同样的事情。对于您的代码,我不知道如何传递它。
https://stackoverflow.com/questions/62093149
复制相似问题