【问题标题】:Get latest version number of the Google App Engine SDK获取 Google App Engine SDK 的最新版本号
【发布时间】:2020-04-18 04:17:15
【问题描述】:

我正在编写一个脚本来自动下载和更新已安装的 Google App Engine SDK 版本。我可以确定安装的版本。

我目前需要发出 wget 请求并检查它是否返回 404 错误;实际上这至少有 2 个请求,一个是检查错误修复更新,另一个是检查次要版本更新。

我想避免发出这些 wget 请求。为此,我需要确定 SDK 的最新(稳定而非预发布)版本。此信息是否可通过 API 或其他可查询来源获得?

【问题讨论】:

  • python 开发服务器已经这样做了(检查最新版本)看看代码他们是如何做到的。
  • @TimHoffman 我按照您的建议查看了 dev_appserve.py 的代码,但它使用本地 VERSION 文件,这就是我获取已安装版本信息的方式。这是代码中的注释:“”“通过解析VERSION文件获取SDK的版本。
  • 但它会检查谷歌服务器上的当前版本,以及它是否与当前安装的版本不同。那张支票就是你想要的不是吗?
  • @TimHoffman 我没看到他们,但我记得您可以从 Windows 启动器应用程序进行手动检查。检查启动器的来源,我找到了相关的方法和 URL appengine.google.com/api/updatecheck。如果你想输入一个答案,我会接受它,然后删除我的 cmets 来清理这个问题。源的 URL 在这里:code.google.com/p/google-appengine-wx-launcher/source/browse/….
  • 我不使用启动器。当您从命令行运行 dev_appserver 时,它会检查(除非您禁用它)安装的 SDK 是否是最新的。会的。

标签: google-app-engine


【解决方案1】:

python SDK 在运行开发服务器时检查当前的 SDK。发射器也有这个设施。

这将是我将使用的方法。

对于命令行 sdk,实现检查的 python 代码是 https://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/tools/sdk_update_checker.py,正如您指出的启动器代码是 https://code.google.com/p/google-appengine-wx-launcher/source/browse/trunk/launcher/app.py

代码执行 api RPC 到 http://appengine.google.com/api/updatecheck 并获得 yaml 响应。因此,您可以使用该代码,甚至只是从 sdk_checker 导入和 SDKUpdateChecker。

【讨论】:

【解决方案2】:

接受的答案最近被打破了。 http://appengine.google.com/api/updatecheck 现在返回这样的响应,最新版本设置为 0.0.0:

$ curl -LSfs https://appengine.google.com/api/updatecheck
    release: "0.0.0"
    timestamp: 1586242881
    api_versions: ['1']
    supported_api_versions:
      python:
        api_versions: ['1']
      python27:
        api_versions: ['1']
      go:
        api_versions: ['go1', 'go1.9']
      java7:
        api_versions: ['1.0']
      go111:
        api_versions: [null]

最新的可用版本是1.9.90 https://storage.googleapis.com/appengine-sdks/featured/google_appengine_1.9.90.zip

未来的版本(1.9.91 等)可能会在类似的 URL 中提供,但这还有待观察。看起来gcloud components installgcloud components update 可以用来安装SDK,虽然编写脚本可能更困难。

更新: https://cloud.google.com/appengine/docs/standard/python/sdk-gcloud-migration

自 2019 年 7 月 30 日起,独立的 App Engine SDK 已弃用。它将于 2020 年 7 月 30 日无法下载。

gcloud 是前进的方向,尽管我不确定自动化 gcloud 更新的好方法。如果我找到一个好的建议或提出一个好的建议,我会在这里更新。

【讨论】:

    猜你喜欢
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多