gpt4 book ai didi

asp.net-core - 在 Google Cloud Shell 中构建 .NET Core 2.1 应用程序失败

转载 作者:行者123 更新时间:2023-12-02 02:46:01 26 4
gpt4 key购买 nike

我创建了一个 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 会启动应用程序的部署,但我从日志中收到一个神秘错误:

Step #0: Status: Downloaded newer image for gcr.io/gcp-runtimes/aspnetcorebuild@sha256:ad1b788a9b4cca75bb61eb523ef358ca059c4bd208fba15a10ccc6acab83f49a

Step #0: No .deps.json file found for the app Finished Step #0

ERROR: build step 0 "gcr.io/gcp-runtimes/aspnetcorebuild@sha256:ad1b788a9b4cca75bb61eb523ef358ca059c4bd208fba15a10ccc6acab83f49a" failed: exit status 1

我的印象是 GCP 默认支持 .NET Core 2.1 容器,因此我没有包含 Dockerfile

我正在尝试部署到灵活环境,这是我的app.yaml文件:

runtime: aspnetcore
env: flex

我需要创建自定义 Docker 容器吗?或者是否有其他方法可以在 Google Cloud Shell 中获得对 .NET Core 2.1 的支持?

编辑:目前,我已安装 Google Cloud Tools,以便在运行 dotnetpublish 后在本地 shell 中运行 gcloud appdeploy

最佳答案

我尝试重现它 - 事实上,Cloud Shell 仅支持 .NET Core 2.0。我已经向合适的工程师提出了这个问题,因此 Cloud Shell 镜像已更新以支持 .NET Core 2.1。

同时:

  1. 基于此镜像创建一个 docker 文件:gcr.io/google-appengine/aspnetcore:2.1
  2. 尝试使用 gcloud builds submit 建立一个形象。当您运行gcloud builds submit第一次,它会要求启用Cloud Build API。批准这一点。这不会使用本地(即 CloudShell 的)docker build 命令,而是提交要由 Cloud Build 构建的工件。并推送到容器注册表。
  3. 使用 gcloud app deploy 部署到 AppEngine Flex ,使用您在上一步中构建的容器注册表中的图像地址指定 --image-url

关于asp.net-core - 在 Google Cloud Shell 中构建 .NET Core 2.1 应用程序失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52018865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com