Cloud Container Builder,ZIP 不支持 1980 年之前的时间戳



我正在尝试以下教程。

使用云源存储库和容器生成器进行自动无服务器部署

但是我得到了下面的错误。

$ gcloud container builds submit --config deploy.yaml .
BUILD
Already have image (with digest): gcr.io/cloud-builders/gcloud
ERROR: (gcloud.beta.functions.deploy) Error creating a ZIP archive with the source code for directory .: ZIP does not support timestamps before 1980
ERROR
ERROR: build step 0 "gcr.io/cloud-builders/gcloud" failed: exit status 1

我现在正在尝试解决它。你有什么想法吗?我的gcloud是最新版本。

$ gcloud -v
Google Cloud SDK 193.0.0
app-engine-go 
app-engine-python 1.9.67
beta 2017.09.15
bq 2.0.30
core 2018.03.09
gsutil 4.28

教程中的示例谷歌云函数代码。

#index.js
exports.f = function(req, res) {
  res.send("hello, gcf!");
};
#deploy.yaml
steps:
- name: gcr.io/cloud-builders/gcloud
  args:
  - beta
  - functions
  - deploy
  - --trigger-http
  - --source=.
  - --entry-point=f
  - hello-gcf # Function name
#deploying without Cloud Container Builder is fine.
gcloud beta functions deploy --trigger-http --source=. --entry-point=f hello-gcf

容器生成器会扫描源文件夹。也许你的.目录的日期已损坏?这就是为什么将其移动到源文件夹可以修复它的原因。

虽然我不知道原因,但我找到了解决方法。

(1) make src directory and move index.js into it.
├── deploy.yaml
└── src
    └── index.js
(2) deploy via Cloud Container Builder.
$ gcloud container builds submit --config deploy.yaml ./src
我现在

遇到了同样的问题。我无法解决它,但至少我找到了它的来源。当您在本地提交构建时,会创建一个 tar 并将其上传到存储桶。在此 tar 中,文件夹是在 01.01.1970 创建的:

16777221 8683238 drwxr-xr-x 8 user staff 0 256 "Jan  1 01:00:00 1970" "Jan  1 01:00:00 1970" "May 15 12:42:04 2019" "Jan  1 01:00:00 1970" 4096 0 0 test

此问题仅发生在本地。如果你有一个github构建触发器,它可以工作

我最近在使用Cloud Build(容器构建器的继任者(时遇到了同样的问题。

有帮助的是添加一个步骤来列出Cloud Build环境中的所有文件/文件夹(默认目录为/workspace(,以识别有问题的文件/文件夹。为此,可以通过重写gcloud容器的入口点来执行ls命令。

steps
  - name: gcr.io/cloud-builders/gcloud
    entrypoint: "ls"
    args: ["-la", "/workspace"]

相关内容

  • 没有找到相关文章

最新更新