quick start in google cloud build

ぐ巨炮叔叔 提交于 2020-06-29 03:58:46

问题


I ran the quick start

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

and in the section "View the build details", I don't see the output of the quickstart.sh file anywhere. Where is the logs from actually running the quickstart.sh file?

Without any output from quickstart.sh, I am unsure how to log what is going on in docker so I can fix broken builds that build in docker.


回答1:


In this official tutorial, a docker container is built via Cloud Build, with only one executable bash script which is displaying the current date.

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

Here is the Dockerfile :

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

It means quickstart.sh is never executed during build phase but only at the execution step of container.

To see the output of script, you should run container (either locally on your computer, or via Cloud Shell) :

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

If you want to execute a script during build phase of container, you should use RUN command.

For example, let's create a second executable script called build.sh in the same directory:

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

Then, add it on Dockerfile file description :

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

Now, we can build a new version of container image :

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

This time, output of build.sh could be seen in the details output log in Cloud Build console:

Of course, here it's just a simple example to give you a quick answer. You may check all other possible options to write a correct and clean Dockerfile. But it's not really linked with Cloud Build.



来源:https://stackoverflow.com/questions/62352103/quick-start-in-google-cloud-build

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!