1

GAE SDKにバージョンを教えてもらうにはどうすればよいですか?私はこのようなものを見つけることができませんでした:

dev_appserver.py --version

os.environ['CURRENT_VERSION_ID']これは、アプリケーションのバージョンを返すとは異なり、インタラクティブコンソール内で実行するとos.environ['SERVER_SOFTWARE']常に返されるように見えることに注意してください。Development/1.0

次のロジックを実行するGAESDKアップデータスクリプトを作成したいと思います。

  1. Linux上のPython用GAESDKの最新バージョンが何であるかを確認します(この記事の執筆時点では、 https: //storage.googleapis.com/appengine-sdks/deprecated/175/google_appengine_1.7.5からダウンロードできる1.7.5です。 .zip
  2. 現在インストールされているGAESDKのバージョンを確認します。
  3. 利用可能なバージョン>インストールされているバージョンの場合は、最新のパッケージをダウンロードして、正しいディレクトリに解凍します。

手順1を実行する「サポートされている」方法がない場合は、スクリプトに「最新バージョン」をハードコーディングしますが、スクリプト自体が複数回実行されている場合でも、ダウンロード/インストールは1回だけにします。 。言い換えれば、スクリプトはべき等である必要があります。

4

1 に答える 1

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

または、これを使用して、デフォルト以外のインストールでバージョン文字列を取得できますが、readlinkLinuxでは正しく機能しない可能性があります。

INSTALLEDDIR=`which dev_appserver.py | xargs readlink | xargs dirname`
INSTALLEDVERSION=`cat $INSTALLEDDIR/VERSION | grep release | cut -d: -f 2 | cut -d\" -f 2`

ただし、これでも手順1を実行する方法は提供されません。この手順では、Webに最新バージョンを照会し、自動更新を実行します。

于 2013-03-19T00:50:56.410 に答える