【发布时间】:2020-10-08 14:46:14
【问题描述】:
第一个问题是“有人知道我在下面做错了什么吗?”。第二个问题是'如果没有,有没有办法在我放在 Dockerfile 中的某种命令中列出文件,希望能进行更多调试,也许也可以在 Dockerfile 中做一个 pwd(试图看看每个环境有什么不同'
步骤 1. git checkout master, git pull
步骤 2. 运行“gcloud builds submit --config cloudbuild.yaml”
第 3 步。使用来自 repo 的“完全相同”cloudbuild.yaml 设置 Google 构建触发器
第 4 步。“gcloud alpha 构建触发器运行 default-push-trigger-1 --branch master”
第 2 步成功并正确运行 Docker 映像的入口点。步骤 4. 失败
/bin/sh: ./downloadAndExtract.sh: not found
ERROR
ERROR: build step 0 "gcr.io/orderly-gcp/continuous-deploy" failed: step exited with non-zero status: 127
我的 Dockerfile 很简单
来自 gcr.io/google.com/cloudsdktool/cloud-sdk:alpine
RUN mkdir -p ./monobuild
COPY . ./monobuild/
WORKDIR "/monobuild"
ENTRYPOINT ./downloadAndExtract.sh
我的 cloudbuild.yaml 文件更简单
steps:
- name: gcr.io/$PROJECT_ID/continuous-deploy
有什么环境问题吗?
我在包含这些文件的目录中运行 docker build/push 循环
- Dockerfile
- cloudbuild.yaml
- 部署DockerImage.sh
- 下载AndExtract.sh
- runCILocallyToTest.sh
- 触发GoogleRemoteBuild.sh
当然,该目录中唯一需要的两个文件是 Dockerfile 和 downloadAndExtract.sh,因此我可能应该将 docker 文件更改为仅复制 downloadAndExtract。无论如何,这不是重要的部分。为什么 google 构建触发器对我不起作用?
编辑:我刚刚顿悟了。将 ls 作为入口点。这证明了异步触发器正在破坏我的构建映像以及我的单回购内容并吹走我设置的任何内容。为什么是这样?他们为什么要让同步启动与构建触发器不同的构建?
【问题讨论】:
标签: docker google-cloud-platform dockerfile google-cloud-build