Jos*_*Fox 2 docker google-cloud-build
我希望我的 Cloud Build 将带有递增标签的映像推送到注册表。因此,当触发器从 GitHub 到达时,构建映像,如果最新标签是1.10,则标记新标签1.11。同样,该1.11值将在构建中的多个其他步骤中使用。
读取注册表并增加标签很容易(在 bash Cloud Build 步骤中),但 Cloud Build 无法传递参数。(替换来自 Cloud Build 流程外部,例如来自 Git 标签,并且不是在流程内部生成。)
此 StackOverflow 问题和本文表示 Cloud Build 步骤可以通过将文件写入工作区目录来进行通信。
那很笨拙。但更糟糕的是,这需要专门使用 shell 步骤,而不是本机 docker 构建步骤,也不是本机image命令。
我怎样才能做到这一点?
遗憾的是你不能。Cloud Builder 映像每次都有自己的沙箱,并且仅/workspace安装目录。顺便说一句,所有环境变量、安装的二进制文件等都不会从一个容器持续到下一个容器。
你每次都必须使用shell脚本:(最简单的方法是在你的目录中有一个文件/workspace(例如env.var文件)
# load the environment variable
source /workspace/env.var
# Add variable
echo "NEW=Variable" >> /workspace/env.var
Run Code Online (Sandbox Code Playgroud)
为此,Cloud Build 很无聊......
| 归档时间: |
|
| 查看次数: |
1083 次 |
| 最近记录: |