获取Google App Engine SDK的最新版本号

时间:2013-06-20 04:50:16

标签: google-app-engine

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

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

我想避免发出这些wget请求。为此,我需要确定SDK的最新版本(稳定版本而不是预发布版本)。这些信息是通过API还是其他可靠来源提供的?

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

最近被接受的答案已被打破。 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

有可能在类似的URL上提供将来的版本(1.9.91等),但这仍有待观察。看起来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更新的好方法。如果我发现一个好的建议或提出一个建议,我将在这里更新。