Сборка приложения .NET Core 2.1 не удается в Google Cloud Shell - PullRequest
0 голосов
/ 25 августа 2018

Я создал приложение ASP.NET Core 2.1 , которое пытаюсь развернуть на Google Cloud Platform .Он просто отлично работает, используя dotnet build локально.

Однако я не могу собрать его через Google Cloud Shell.Запуск dotnet --version подтверждает, что в Google Cloud Shell установлено .NET Core 2.0 .

Запуск gcloud app deploy инициирует развертывание приложения, но я получаю загадочную ошибку из журнала:

Шаг № 0: Статус: загруженное более новое изображение для gcr.io/gcp-runtimes/aspnetcorebuild@sha256:ad1b788a9b4cca75bb61eb523ef358ca059c4bd208fba15a10ccc6acab83f49 *.приложение завершило шаг # 0

ОШИБКА: шаг сборки 0 "gcr.io/gcp-runtimes/aspnetcorebuild@sha256:ad1b788a9b4cca75bb61eb523ef358ca059c4bd208fba15a10ccc6acab83f49a * 10 * * 10 * 1021 был прерван:Создается впечатление, что GCP поддерживает .NET Core 2.1 контейнеров по умолчанию, поэтому я не включил Dockerfile .

Я пытаюсь развернуть на гибкая среда, вот мой app.yaml файл:

runtime: aspnetcore
env: flex

Нужно ли создавать собственный контейнер Docker?Или есть какой-то другой способ получить поддержку .NET Core 2.1 в Google Cloud Shell?

Редактировать: На данный момент я установил Google Cloud Tools для запуска gcloud app deploy в оболочкелокально после запуска dotnet publish.

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

Я пытался воспроизвести его - действительно, Cloud Shell поддерживает только .NET Core 2.0.Я поднял это с правильными инженерами, поэтому образ Cloud Shell обновлен для поддержки .NET Core 2.1.

А пока:

  1. Создайте файл докера на основе этого образа: gcr.io / google-appengine / aspnetcore: 2.1
  2. Попробуйте использовать сборки gcloud для отправки для создания образа.Когда вы запускаете сборки gcloud, отправляете в первый раз, он попросит включить Cloud Build API .Одобрить это.При этом не будет использоваться локальная (т. Е. CloudShell) команда docker build , а скорее будут отправляться ваши артефакты для сборки с помощью Cloud Build и помещаться в реестр контейнеров.
  3. Развертывание в AppEngineFlex с приложением gcloud разверните , указав - URL-адрес изображения с адресом изображения из реестра контейнера, как вы его создали на предыдущем шаге.
0 голосов
/ 01 сентября 2018

Помните, что Microsoft переключается с aspnetcore на dotnet в образе ядра dotnet.
https://hub.docker.com/r/microsoft/dotnet/

...