Google Cloud Build не может найти Python venv ... для проекта Java Spring Boot - PullRequest
0 голосов
/ 11 июля 2020

У меня есть обычное Java 11 приложение Spring Boot, которое сейчас развернуто на Heroku.

Я могу развернуть приложение вручную в AppEngine с помощью локального вызова gcloud app deploy

Однако около 2 часов я изо всех сил пытаюсь заставить Google Cloud Build автоматически создавать и развертывать приложение. Он вылетает из-за невозможности найти python, но я совершенно не понимаю, почему он все равно пытается искать python.

Вот cloubuild.yaml:

  - name: maven:3.6.3-adoptopenjdk-11
    entrypoint: mvn
    args: ['--version']

  - name: maven:3.6.3-adoptopenjdk-11
    entrypoint: mvn
    args: ['package']

  - name: 'gcr.io/cloud-builders/gcloud'
    args: ['app', 'deploy', 'app.yaml']

Вот приложение yaml в той же папке root:

runtime: java11
env: standard
instance_class: F2
automatic_scaling:
  max_instances: 1

Вот часть ошибки вывода:

Step #2: descriptor:      [/workspace/app.yaml]
Step #2: source:          [/workspace]
Step #2: target project:  [atomic-parity-282520]
Step #2: target service:  [default]
Step #2: target version:  [20200711t113051]
Step #2: target url:      [https://atomic-parity-282520.ew.r.appspot.com]
Step #2: 
Step #2: 
Step #2: Do you want to continue (Y/n)?  
Step #2: Beginning deployment of service [default]...
Step #2: Created .gcloudignore file. See `gcloud topic gcloudignore` for details.
Step #2: ERROR: gcloud crashed (OSError): [Errno 2] No such file or directory: '/workspace/venv/bin/python3'
Step #2: 
Step #2: If you would like to report this issue, please run the following command:
Step #2:   gcloud feedback
Step #2: 
Step #2: To check gcloud for common problems, please run the following command:
Step #2:   gcloud info --run-diagnostics
Finished Step #2
ERROR
ERROR: build step 2 "gcr.io/cloud-builders/gcloud" failed: step exited with non-zero status: 1

1 Ответ

0 голосов
/ 12 июля 2020

Оказалось, что когда-то go мы добавляли несколько python скриптов для миграции db. В дополнение к сценарию была создана папка venv.

Похоже, AppEngine запускает ее как подсказку, что проект основан на Python, даже если вы установили конкретный app.yaml, говорящий использовать Java.

Удаление папки venv устранило проблему.

...