0

GAE アプリの「QA 環境」をセットアップ中です。この QA 環境は、専用の IP アドレスを持つホーム ネットワーク上の小さなサーバーです。Ant スクリプトを作成して、SVN リポジトリからプロジェクトをチェックアウトし、ビルド サーバーでビルドしてから、(自宅の LAN 経由で) 「リモート」で QA アプリ サーバーにデプロイします。

Tomcat ではscp、Web アーカイブをマシンのwebapps/ディレクトリに保存するだけで済みます。ホット デプロイを構成できるため、QA デプロイに通常必要なのはそれだけです。

しかし、私は GAE を初めて使用するので、Ant を介してこのようなリモート展開を実現する方法がわかりません。私が考えることができる最高のものは(やや複雑ですが)次のようになります。

  1. いつものように、buildserver で WAR をチェックアウトしてビルドします。
  2. scpQAマシンのどこかにあるステージングディレクトリへのWAR。いう192.168.1.55:/opt/gae/staging
  3. クライアントが特定の API をヒットするのをリッスンするそのマシン (Tomcat または Jetty によってホストされている可能性があります) で軽量の RESTful Web サービスを実行しますhttp://192.168.1.55:8080/GaeRemoteApi/deploy。リクエスト ハンドラーがこの URL のリクエストを受け取ると、シェル コマンドを開始して WAR を正しいディレクトリにコピーし、実行appcfg.sh -uploadして実際に WAR を QA アプリ サーバーにデプロイします。

私はこれを 1 日か 2 日で動作させることができると確信していますが、GAE がより簡単な (焼き付けられた) ソリューションで出荷されているかどうか疑問に思っていました。または、新鮮な目がもっと簡単なことを考えることができれば。前もって感謝します!

4

2 に答える 2

1

シンプルに保つ必要があると思います。

Ubuntu を使用しているため、次のようなシェル スクリプトを作成できます。

  1. リモートサーバーへのssh
    • 現在のgae dev appserverを停止します
    • 既存の war ディレクトリの名前を変更します
  2. QA サーバーの war ディレクトリに新しいデプロイメントを scp します。
  3. QAサーバーにsshして、gae dev appserverを起動します

http://sumedha.blogspot.com.au/2008/06/how-to-call-shell-script-from-ant.htmlを使用して、ant からシェル スクリプトを呼び出すことができます。

開発アプリケーション サーバーを停止するには:

killall -e ./appengine-java-sdk/bin/dev_appserver.sh

開発アプリケーションサーバーを実行するには:

nohup ./appengine-java-sdk/bin/dev_appserver.sh you/war/directory &
于 2012-10-12T01:01:36.917 に答える
1

開発サーバーを実行しますか?

https://developers.google.com/appengine/docs/java/tools/devserver

于 2012-10-12T00:51:34.450 に答える