Cloud Container Builder, ZIP does not support timestamps before 1980

∥☆過路亽.° 提交于 2020-01-24 22:05:50

问题


I'm trying the following tutorial.

Automatic serverless deployments with Cloud Source Repositories and Container Builder

But I got the error below.

$ 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

I'm now trying to solve it. Do you have any idea? My gcloud is the latest version.

$ 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

Sample google cloud function code on the tutorial.

#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:


Container Builder tars your source folder. Maybe something in your . directory has corrupted dates? That's why moving it to the source folder fixes it.




回答2:


While I don't know the reason, I found a workaround.

(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



回答3:


I ran into the same issue now. I could not solve it but at least I found out where it comes from. When you locally submit your build there is a tar created and uploaded to a bucket. In this tar the folders are created at 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

This issue only occurs locally. If you have a github build trigger it works




回答4:


I recently came across the same issue using Cloud Build (the successor to Container Builder).

What helped was adding a step to list all the files/folders in the Cloud Build environment (default directory is /workspace) to identify the problematic file/folder. You can do this by overriding the gcloud container's entrypoint to execute the ls command.

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


来源:https://stackoverflow.com/questions/49297234/cloud-container-builder-zip-does-not-support-timestamps-before-1980

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