LoginSignup
26
27

More than 3 years have passed since last update.

Google Cloud ShellでApp Engine DevServerを動かす

Last updated at Posted at 2016-01-06

Google Cloud Shell?

Cloud ShellはDevelopers Consoleの機能の1つで、Debian-based LinuxのShell環境を貸してくれる機能です。

gcloud sdkを始めとして、色んなtoolを最初からインストールしてくれているので、軽く何か試そうという時に便利な環境です。

DiskもUser毎に5GB使えるようになっているので、git cloneしたり、Cloud StorageやBigQueryのExport結果を、Diskに保存することができます。
ただ、$HOME以外はCloud Shellを再起動すると初期化されるので、注意してください。

何がインストールされているかは、Available toolsに書いてあります。
適当に抜粋してみます。

Available tools

  • bash
  • sh
  • Google App Engine SDK
  • Google Cloud SDK
  • Emacs
  • Vim
  • Nano
  • Gradle
  • Make
  • Maven
  • npm
  • nvm
  • pip
  • Git
  • Mercurial
  • Docker
  • iPython
  • MySQL client
  • gRPC compiler

Language support

  • Java
  • Go
  • Python
  • Node.js
  • Ruby
  • PHP

GCP上で開発する時に使いそうなものは、それなりに入っている感じです。
追加でインストールとかもできますが、$HOME以外はクリアされてしまうので、apt-getとかでインストールすると、Cloud Shellを再起動すると消えてしまいます。

Quickstart

Developers Consoleを開いて、ぽちっとボタンを押せば完了です

Home_-_cp300demo1_and_Google_Cloud_ShellでApp_Engine_DevServerを動かす.png

Price

2016年中は無料で提供できるらしいです。
こういう機能はスパマーとの兼ね合いで料金が変わったりすることがあるので、2017年も無料で使えるように祈りましょう。

Web Preview

Cloud ShellにはWeb Previewという機能があります。
これは、Cloud Shell上でWeb Serverを立ちあげて、アクセスすることができる機能です。
試しにApp EngineのDev Serverを立ち上げてみます。

Python

まず、github上にあるApp Engineのサンプルプロジェクトをcloneします。

git clone https://github.com/GoogleCloudPlatformTraining/cp100-appengine-memcache-python.git

後は、app.yamlがある場所で、dev_appserver.pyを実行すれば、8080portでDev Serverが立ち上がります。

cd cp100-appengine-memcache-python
dev_appserver.py .

後は、Cloud Shellの左上にあるボタンをクリックして、Preview on port 8080を選べばブラウザで表示することができます。

Home_-_GCPUG_and_Google_Cloud_ShellでApp_Engine_DevServerを動かす.png

https___8080-dot-1978286-dot-devshell_appspot_com__authuser_0.png

Java

Javaも基本的に流れは同じはずなのですが、なぜかブラウザでの表示がうまくできませんでした。

サンプルプロジェクトをgit clone

git clone https://github.com/GoogleCloudPlatformTraining/cp100-appengine-memcache-java.git

mavenでDev Serverを起動

cd cp100-appengine-memcache-java
mvn appengine:devserver

Cloud Shellの左上にあるボタンをクリックして、Preview on port 8080を選べばブラウザで表示するとエラー・・・。

Home_-_GCPUG.png

https___8080-dot-1978286-dot-devshell_appspot_com__authuser_0_error.png

上記はmavenでやってますが、App Engine SDKにあるdev_appserver.shでやるとどうかな?と思い試そうとしましたが、command not found. App Engine Java SDKは入っているのですが、dev_appserver.shはハブられているよう・・・。

おまけ

もちろん、App Engineのデプロイもできます。

Python

cd cp100-appengine-memcache-python
appcfg.py -A cp300demo1 -V example update . --noauth_local_webserver

Java

デプロイは普通にJavaもできます。

cp300-gae-memcache-java/src/main/webapp/WEB-INF/appengine-web.xml<application>を自分のGCP Projectのものに修正してpom.xmlがあるpathで以下を実行すればデプロイされます。

mvn appengine:update
26
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
27