快速开始 google 云构建

quick start in google cloud build

我运行快速入门

https://cloud.google.com/cloud-build/docs/quickstart-build

并且在 "View the build details" 部分中,我没有在任何地方看到 quickstart.sh 文件的输出。 运行 quickstart.sh 文件的日志实际上在哪里?

没有 quickstart.sh 的任何输出,我不确定如何记录 docker 中发生的事情,因此我可以修复 docker.[=12= 中构建的损坏构建]

在这个官方教程中,一个 docker 容器是通过 Cloud Build 构建的,只有一个可执行的 bash 脚本显示当前日期。

#!/bin/sh
echo "Hello, world! The time is $(date)."

这是 Dockerfile :

FROM alpine
COPY quickstart.sh /
CMD ["/quickstart.sh"]

这意味着quickstart.sh从不在构建阶段执行,而仅在容器的执行步骤执行。

要查看脚本的输出,您应该 运行 容器(在本地计算机上,或通过云 Shell):

$ docker run gcr.io/[PROJECT-ID]/quickstart-image:latest
Hello, world! The time is Sat Jun 13 05:10:41 UTC 2020.

如果你想在容器构建阶段执行脚本,你应该使用RUN命令。

例如,让我们在同一目录中创建名为 build.sh 的第二个可执行脚本:

#!/bin/sh
echo "Hello, build at $(date)."

然后,将其添加到 Dockerfile 文件描述中:

FROM alpine
COPY quickstart.sh /
COPY build.sh /
RUN /build.sh
CMD ["/quickstart.sh"]

现在,我们可以构建一个新版本的容器镜像:

gcloud builds submit --tag gcr.io/[PROJECT-ID]/quickstart-image

这一次,build.sh的输出可以在Cloud Build控制台的详细输出日志中看到:

当然,这里只是举个简单的例子来给大家一个快速的解答。您可以检查所有其他可能的选项以编写正确且干净的 Dockerfile。但它并没有真正与 Cloud Build 相关联。