Cloud Container Builder, ZIP не поддерживает отметки времени до 1980 г.

Я пробую следующий урок.

Автоматически без сервера развертывания с помощью Cloud Source Repositories и Container Builder

Но я получил ошибку ниже.

$ 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

Пример кода облачной функции Google в руководстве.

#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

comment
Какие файлы есть у вас в исходнике? (ls -alh)? Старый файл взят из учебника?   -  person Philmod    schedule 16.03.2018
comment
В моем случае это произошло из-за случайного включения каталога модулей узлов в загрузку в gcp после локального создания облачной функции node.js для тестирования, я предполагаю, что это происходит от случая к случаю.   -  person nsandersen    schedule 03.03.2020


Ответы (4)


Конструктор контейнеров сортирует вашу исходную папку. Может что-то в вашем. каталог имеет поврежденные даты? Вот почему перемещение его в исходную папку исправляет это.

person codrienne    schedule 15.03.2018

Хотя я не знаю причины, я нашел обходной путь.

(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
person zono    schedule 15.03.2018

Я столкнулся с той же проблемой сейчас. Я не мог решить эту проблему, но, по крайней мере, я узнал, откуда она взялась. Когда вы отправляете свою сборку локально, создается 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, он работает

person mirgleich    schedule 15.05.2019

Недавно я столкнулся с той же проблемой, используя Cloud Build (преемник Container Builder).

Что помогло, так это добавление шага для перечисления всех файлов / папок в среде Cloud Build (каталог по умолчанию /workspace) для определения проблемного файла / папки. Вы можете сделать это, переопределив точку входа контейнера gcloud для выполнения команды ls.

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