2017-05-08 bouzuya/bbn-json-hs 0.2.0.0 をつくった
昨日 (2017-05-07) のことだけど、 bouzuya/bbn-json-hs の 0.2.0.0 を公開した。
動作は Heroku および Amazon ECS: EC2 Container Service にデプロイして確認した。 Docker イメージを作成できており、手元で動くので、ほぼ間違いなく動くのだけど……。
機能については 2017-05-06 に書いたとおりのもので、 blog.bouzuya.net への Proxy だ。 HTTP リクエストを受け付けて、それに応じた HTTP リクエストを blog.bouzuya.net に投げ、結果を返す。それだけだ。
今回はまだ yesod を使わず、 wai & warp & aeson を使った。素朴な感じだ。また先日 (2017-05-06) は stack docker
を使わないと書いたのだけど、結局、方針を変えて使うことにした。以下にその経緯を書く。
「さあ、デプロイしよう!」と思って docker images
したら、サイズに 5.98 GB などと表示されていた。さすがに大きすぎる。 stack setup && stack build
すると、もうダメっぽい。
いろいろ試行錯誤していて、ふと「ビルド済みの実行ファイル (exe) だけを持っていけば動くんじゃないか」と思い、ためしたら動いた。最近は JavaScript や Ruby ばかりを触っていたので、ソースコードなどをそのまま持っていくのが当たり前になっていた。まさか exe だけで良いとは思わなかった。環境 (インストールされているライブラリ) への依存はあるんだろうけど、そこをクリアできれば exe だけで動くのだろう。推測だし、よく分かっていないけど、動いたので良しとする。サイズも 992 MB 。まだ大きいけど、許容できる。
exe だけを配置することを前提に考えると、最終的に動く環境と類似の環境でビルドしておけば良さそうだ。つまり stack docker
を使えば都合が良いということになる。今度は Dockerfile
で stack build
しないので、 Docker の入れ子になる心配もない。
経緯はこんなところだ。
まだいろいろ試さないといけない。さきの連休で試したかったことがまだ終わっていない。画像アップローダーの作成を通じて、試していきたい。