IntelliJ IDEAでGAE/Goの開発環境をつくる
GAEを使ってみようと思います。
Googleのアカウントを持っているだけで、
WEBアプリが作れてしまいます。
GAEプロジェクト作成~SDKインストール
チュートリアルにしたがって進めてみます。
https://cloud.google.com/appengine/docs
の「try it now」ボタンより
SDKをダウンロードします。
次のコマンドを使って Go 用 App Engine パッケージをインストールします:
|
|
言語別のSDK単体もありますが、
管理ツールがついてくるこちらからインストールしたほうがよいです。
SDKはそのままのパスでProgram Filesにインストールすると
半角スペースが原因でgoapp serve
が動かないので注意です。
GAE用のプロジェクトも作成します。ここで割り振られた
プロジェクトIDをデプロイ時に使用します。
あとは
SDKをインストールしたフォルダの中の\platform\google_appengine
にツール類があるのでパスを通します
IntelliJ IDEAの設定
プロジェクトを作成します。
Create New Project > Go App Engine を選択します。
適当に名前をつけて作成します。
次にFile > ProjectStructure > SDKの+ボタンよりSDKを追加します。
SDKのpathは SDKをインストールしたフォルダの中の\platform\google_appengineを指定します。
追加したSDKを ProjectStructure > Project より選択します。
ひな形のプロジェクトが作成されます。
app.yamlを編集してapplicationの部分をGAEのコンソールのプロジェクトIDにしておきます。
|
|
ローカルで動かしてみる
右上の下矢印よりEdit Configurations > 「+」ボタン > Go Local AppEngine Serverを選択
特に設定は変更せず、適当にNameをつけて保存します。
作成した実行プロファイルを選択して、緑色の「▽」ボタンを押して実行します。
localhost:8000 にアクセスしてみると開発用の管理画面が表示されます。
「default」を押すと動いているのが確認できます。
GAEにデプロイしてみます
まずgoapp deploy
してみましたが、認証がうまく通りませんでした。
SDKにGoogle App Engine Launcherというのがついているのでこれを使ってみます。
File > Add Existing Application で作ったプロジェクトを選択します。
あとは「Deploy」ボタンをおしてGoogleアカウントのID・パスワードを入力すると
デプロイすることができました。
http://{your project id}.appspot.com/
にアクセスすると動いているのを確認することができます。
気になったところ
IntelliJ IDEA上でgo fmt等のツールがエラーになるようになっていました。
SDKをみてみるとgorootというフォルダがあり、基本パッケージやツール類が入っています。
どうやらSDK内にGOそのものを内包しており、GAEではこちらがGOROOTになるようです。
IntelliJ IDEA の Setting > Tools > Google Goで
GOROOTにplatform\google_appengine\gorootを選択しようとしましたが
エラーになり選択できませんでした。
荒業ですが、
IntelliJ IDEAはplatform\google_appengine\の直下を見に行ってるようなので
platform\google_appengine\goroot\binのツール類(go fmt等)を
platform\google_appengine\にコピーしてやれば動きました。