如何让GAE SDK告诉我它是什么版本?我找不到这样的东西:
dev_appserver.py --version
请注意,这与返回应用程序版本的os.environ['CURRENT_VERSION_ID']
不同,当我在交互式控制台中运行时,os.environ['SERVER_SOFTWARE']
似乎总是返回Development/1.0
。
我想创建一个执行以下逻辑的GAE SDK更新程序脚本:
如果没有“支持”的方式来执行步骤#1,我愿意在脚本中硬编码“最新版本”,但即使脚本本身是,我仍然只想下载/安装一次多次运行。换句话说,脚本应该是幂等的。
答案 0 :(得分:2)
解压缩GAE SDK zip的目录包含一个包含以下内容的VERSION文件:
release: "1.7.5"
timestamp: 1357690550
api_versions: ['1']
所以我写了一个脚本来将版本拉出来:
#!/bin/sh
INSTALLEDVERSION=`cat /usr/local/google_appengine/VERSION | grep release | cut -d: -f 2 | cut -d\" -f 2`
LATESTVERSION="1.7.5"
if [ $INSTALLEDVERSION != $LATESTVERSION ]; then
echo "Update GAE SDK"
fi
或者,您可以使用它来获取非默认安装上的版本字符串,但readlink
可能无法在Linux上正常运行:
INSTALLEDDIR=`which dev_appserver.py | xargs readlink | xargs dirname`
INSTALLEDVERSION=`cat $INSTALLEDDIR/VERSION | grep release | cut -d: -f 2 | cut -d\" -f 2`
但是这仍然没有提供执行第1步的方法,第1步会在网上查询最新版本并进行自动更新。