【问题标题】:gcloud deploy never finish with Updating servicegcloud deploy 永远不会完成更新服务
【发布时间】:2017-01-18 20:06:49
【问题描述】:

我正在尝试将 python 应用程序部署到 App Engine。 我之前已经部署过这个应用程序,但由于某种原因,它现在上传了文件,然后写了Updating service [default].../ 并且永远不会完成。

我使用的是 Windows 10,几分钟后我只能看到ERROR: (gcloud.app.deploy)

我运行的命令是gcloud app deploy --project my-proj -v 1 --quiet server/app.yaml

我在服务器子目录中有服务器端应用程序。

任何想法如何诊断这个问题?

更新1 我已经使用调试标志运行了命令,我看到它每 5 秒出现一次:

Updating service [default].../DEBUG: Received operation: [apps/my-app/operations/b0647556-93af-4fd8-b0a7-f4ae43393e1e]

DEBUG: Operation [apps/my-app/operations/b0647556-93af-4fd8-b0a7-f4ae43393e1e] not complete. Waiting 5s.

Updating service [default]...-DEBUG: Operation [apps/my-app/operations/b0647556-93af-4fd8-b0a7-f4ae43393e1e] not complete. Waiting 5s.

Updating service [default]...\DEBUG: Operation [apps/my-app/operations/b0647556-93af-4fd8-b0a7-f4ae43393e1e] not complete. Waiting 5s.

Updating service [default].../DEBUG: Operation [apps/my-app/operations/b0647556-93af-4fd8-b0a7-f4ae43393e1e] not complete. Waiting 5s.

DEBUG: Operation [apps/my-app/operations/b0647556-93af-4fd8-b0a7-f4ae43393e1e] not complete. Waiting 5s.

Updating service [default]...|DEBUG: Operation [apps/my-app/operations/b0647556-93af-4fd8-b0a7-f4ae43393e1e] not complete. Waiting 5s.

【问题讨论】:

  • 首先,运行不带--quiet 标志和带--verbosity=debug 的命令,看看是否产生任何有用的与错误相关的输出。
  • 同样的问题。部署需要永远或永远不会完成。
  • 你还有这个问题吗??
  • 我也有同样的问题......

标签: google-app-engine


【解决方案1】:

如果你有一个新项目在我的情况下它是一个标志

我有:

"deploy": "gcloud app deploy --project quantified-self-io --quiet --promote --stop-previous-version --version=v1 --verbosity=info",

标志--stop-previous-version 引起了我的问题,因为我想没有运行以前的版本。

【讨论】:

    【解决方案2】:

    这发生在我的 v2 端点上。为了向后兼容,我在 web.xml 中添加了 _ah/spi 的旧 Servlet 映射。这导致应用程序卡在Updating service [default]... 并且永远无法完成。看起来只有 _ah/api 的映射可以实现向后兼容性,所以在 appengine 端肯定发生了一些后端魔法。

    【讨论】:

      【解决方案3】:

      我遇到了完全相同的问题。这是我发现的:

      我听从了@Daniel Hernandez 的建议,从 Cloud Shell 内的克隆 git 存储库上传了应用程序。它奏效了。

      然后我继续克隆了在 cloud shell 中工作的同一个存储库,但我将它克隆到了我计算机中的另一个文件夹中。我部署应用没有任何问题。

      这让我产生了怀疑,因此我开始研究与这两种设置不同的文件。我发现在我原来的设置中(失败的那个)我有两个额外的文件夹:

      env/
      lib/
      

      这些对应于 virtualenv 和额外库的本地开发文件夹。请注意,这些文件被 .gitignoreapp.yaml 中的 skip_files 指令“忽略”。

      我删除了这两个目录并尝试再次上传,它成功了。

      【讨论】:

      • 如果我运行gcloud beta app deploy 或没有beta,我也看到了不同。使用测试版会失败,没有测试版会成功。
      【解决方案4】:

      更新 Gcloud SDK 为我解决了这个问题:gcloud components update

      根据https://stackoverflow.com/a/52428069/219657

      【讨论】:

        【解决方案5】:

        我遇到了同样的问题,所以我的解决方案是从控制台 (https://console.cloud.google.com) 部署应用程序。 我在源代码文件夹中克隆了我的 git repo,安装项目后,我运行命令:gcloud app deploy --project [google-project-name]

        【讨论】:

        • 这表明 GCP 已损坏
        【解决方案6】:

        在我们的案例中,这是由导致 500 错误的软件错误引起的 - 例如我相信在部署期间,App Engine 会进行简单的运行状况检查,以验证应用是否已成功部署,如果失败,它将永远循环。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-07-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多