2017-02-23 4 views
2

最初にAndroidStudioにJavaモジュールをセットアップして、GoogleAppEngineサーバーにアップロードしても問題ありません。 (Androidスタジオ - Google App Engineへのデプロイメントモジュールのビルド)Google AppEngineにJavaとnode.jsプロジェクトを一度にアップロード

さらに、additioanl node.jsサーバーを同じApp Engineインスタンスにアップロードします。コードは、Javaモジュールで作成されたfirebaseデータベースにもアクセスします。 node.jsコードを作成するには、gcloud app deployを使ってGoogles QuickStartチュートリアルに従ってください。

これは私の既存のJavaコードを無効にするバックエンドのフレックス環境で新しいバージョンを作成することがわかっています。

私の質問は次のとおりです。node.jsサーバーを既存のインスタンスに追加するにはどうすればよいですか?私はAndroidスタジオのプロジェクト内でこれをやっていなければならないと思うが、gcloud app deployには入っていないと思う。 node.jsサーバーをサブフォルダで利用できるように、新しいモジュールを作成するにはどうすればよいですか?

+0

「インスタンス」が意味するものを明確にしてください。それはGAEインスタンスですか(インスタンス時間で課金されるかのように)ですか、それとも実際にGAEアプリケーションですか? –

+0

私はGAEインスタンスを意味します。より具体的には、Javaコードをアップロードするときに、GAEバックエンドの「バージョン」の下に新しいJavaバージョンが表示されます。私がgcloud-commandでデプロイすれば、新しいバージョンの "Versions"の下のVersionが表示されます。これは、可視のJavaバージョンがもはやアクティブではないことを意味します。私が達成したいのは、両方のコードパーツがアクティブであるように、あるバージョン内でコードをアップロードすることです。私は、Javaプロジェクトフォルダにnode.jsを含め、web.xmlデプロイメント記述子を使ってそれらを参照する必要があると思います。しかし、私はそれを行う方法を理解できませんでした。 – softwaresupply

答えて

1

異なる言語(および環境)のため、同じサービス/モジュールには存在しないため、「追加のnode.jsサーバを同じApp Engineインスタンスにアップロードすることはできません。インスタンスは1つのモジュールからのみコードを実行できます)。

サービス/モジュールの名前を変更して、展開時に相互に上書きしないようにする必要があります。その後、それらは独立して展開できます。

node.jsモジュールのapp.yamlファイルのservice:設定を確認してください。 General settingsから:

サービス:SERVICE_NAMEサービスを作成する場合は必須

。デフォルトのサービスではオプションです。各 サービスと各バージョンには名前が必要です。名前には数字、 文字、およびハイフンを含めることができます。 63文字を超えることはできず、 はハイフンで開始または終了できません。 サービスと各バージョンごとに固有の名前を選択します。サービスと バージョンの間で名前を再利用しないでください。

注:サービスは以前は「モジュール」と呼ばれていました。

し、Javaモジュールのappengine-web.xmlファイルでのごmoduleおよび/またはserviceのconfigs。

も参照してください。Microservices Architecture on Google App Engine

+0

"デプロイメント時に互いに上書きしないようにサービス/モジュールに異なる名前を付ける必要がある" - それは同時にそれらがオンラインであり、特にノードコードがオンラインでfirebasesデータベースにアクセスできることを意味するJava環境でもアクセスされますか?そのモジュールがどのように定義されているかを説明するリンクを提供できますか?どうも! – softwaresupply

+0

はい、一緒に機能します。更新された回答のリンクを参照してください。 –

関連する問題