簡體   English   中英

通過 Google Build 部署 Google Cloud Function 錯誤 - 無法准備上下文:無法評估 Dockerfile 路徑中的符號鏈接

[英]Deploy Google Cloud Function through Google Build error - unable to prepare context: unable to evaluate symlinks in Dockerfile path

我無法通過谷歌雲構建部署雲 function,收到錯誤:

BUILD
Already have image (with digest): gcr.io/cloud-builders/docker
unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /workspace/Dockerfile: no such file or directory
ERROR
ERROR: build step 0 "gcr.io/cloud-builders/docker" failed: exit status 1

我的 git 回購結構是

myrepo/cloudbuild.yaml
myrepo/new-user/index.js
myrepo/new-user/package.json

而我的cloudbuild.yaml如下

steps:
- name: 'gcr.io/cloud-builders/gcloud'
  id: 'newUser'
  args: ['functions',
  'deploy',
  'newUser',
  '--source=./new-user/.',
  '--trigger-event=providers/cloud.firestore/eventTypes/document.create',
  '--trigger-resource=projects/myproject/databases/default/documents/userLocations/{user}',
  '--runtime=nodejs8']

我認為對於雲功能,只需要 cloudbuild.yaml,這就是 Dockerfile 錯誤令人困惑的原因。

在命令行上運行以下命令可以正常工作。

gcloud functions deploy newUser --runtime=nodejs8 --trigger-event=providers/cloud.firestore/eventTypes/document.create --trigger-resource=projects/myproject/databases/default/documents/userLocations/{user} --source=./new-user/.

謝謝。

您的存儲庫沒有Dockerfile ,因此您不能使用不存在的Dockerfile進行構建。

由於您正在嘗試制作一個需要 Docker 映像作為輸入的無服務器容器。

當我遇到這個問題時,我的問題與我在 monorepo 中工作的事實有關,並且必須重新定義 Cloud Build 將用於通過向我的 cloudbuild 文件添加dir來查找 Dockerfile 的工作區位置。

我的 Cloud Build 觸發器設置為查找位於以下位置的 cloudbuild 文件: <root>/apps/<subfolder>/cloudbuild.yaml

CloudBuild 正確拾取了 cloudbuild 文件,構建將開始,但隨后出錯,因為未找到 Dockerfile。

YAML 示例:

steps:
- name: 'gcr.io/cloud-builders/docker'
  args: [ 'build', '-t', 'us-west2-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ]
images:
- 'us-west2-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
- dir: 'apps/<subfolder>'

參考: 文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM