Google App Engine (GAE) + Go の組み合わせはとても良くて、これでクイックにWebアプリが始められる!って感じなんだけどまだいくつかなんとかしてほしい点があるのでこの時点でメモっておく
カスタムドメイン+ワイルドカード証明書ができない
https://<service_name>.example.com
みたいなサブドメインで行き先サービスを分けるというのができない
app.yml の書き方忘れる
最後の url: /.* script: _go_app
とは一体何なのか、おまじない呪文みたいな認識になってる
runtime: go api_version: go1 handlers: - url: /.* script: _go_app
外部ライブラリを使った場合のデプロイが面倒
Google App EngineでGoを動かすときに知っておくべきこと(ソースコード・ビルド編) - 詩と創作・思索のひろば に書かれている通り、vendor/ ディレクトリを置いてるとまずデプロイが通らない
GAE/Go では syscall や unsafe パッケージのインポートが許されていない。たとえばプロジェクトルート以下に vendor ディレクトリを作っていて、その下に置いたサードパーティ製のライブラリがこれら利用不可のパッケージを利用していた場合、アプリケーションから利用していなくても開発サーバの起動やデプロイができなくなることになる。
また上に書かれてる意外に gcloud
コマンドを使ってデプロイを試みると cannot import internal package...
みたいなエラーが出てしまって進まない。
最新の gcloud
コマンドではダメで、旧式の goapp
だと通るというひっどい仕様になっていてこれが非常にひどい。ひどかったので qiita に記事もかいた
GAE/Go (+dep) を gcloud コマンドを使わずに CI でデプロイ - Qiita
gcloud
ツール系が Python 2 依存
Python 3 が入ってると syntax error で死ぬ。Python 3 にしてほしいというよりは全部 Go でかきなおして欲しい。Googleさんがんばって・・