Поскольку вы уже используете гибкую среду, одним из возможных решений было бы установить для среды выполнения значение custom, а затем с помощью Dockerfile указать желаемый образ, которым в данном случае является .Net Core 3.0.
Например, файл app.yaml может быть переписан следующим образом:
service: api
runtime: custom
env: flex
Мы также можем написать Dockerfile поверх примера, приведенного в официальных документах docker
FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build-env
WORKDIR /app
# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore
# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out
# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "aspnetapp.dll"]
Опять же, это только одно из возможных решений. У Google есть статья , в которой описываются 4 способа развертывания приложения .Net Core . Конечно, ему несколько лет, но концепции все еще должны применяться. В качестве обзора вы можете:
- Развертывание из Visual Studio напрямую с использованием расширения Cloud Tools for Visual Studio
- Развертывание пакета зависимого от платформы развертывания с помощью "публикации dotnet"
- Развертывание в гибкую среду App Engine с настраиваемым Dockerfile
- Развертывание в обработчик контейнеров с настраиваемым Dockerfile