amakanの開発環境をDockerに移行した
https://amakan.net/ のこの辺の改善の続き。
- amakanをUnicornからPumaに移行した - ✘╹◡╹✘
- amakanでyarnを使うようにした - ✘╹◡╹✘
- amakanでRuby 2.3.3を使うようにした - ✘╹◡╹✘
- amakanを Ruby 2.3.3 から 2.4.0-preview3 に移行した - ✘╹◡╹✘
- amakanのフロントエンドを色々改善した - ✘╹◡╹✘
- amakanをSidekiqに移行した - ✘╹◡╹✘
環境構築
docker が動く環境なら、git clone して bin/setup を叩けば開発が始められる。
$ cat bin/setup #!/bin/bash set -ex docker-compose up -d docker-compose run --rm node yarn install docker-compose run --rm puma bundle install docker-compose run --rm puma bundle exec rake db:create db:load:schema docker-compose up -d
やっているのはこういう処理。
- イメージのダウンロードとビルド
- ライブラリのインストール
- DBスキーマの作成
- コンテナの起動
bundle と node_modules は volume を利用してマウントしているので、ビルド後に手元でインストールする必要がある。代わりに、これらが変更されるたびにビルドを行う必要はない。
開発者が1人しか居ない上に開発機が1つしかないので、ビルド済みのイメージをレジストリにアップロードして管理したりはしていない。
様子見
docker-compose ps で様子を見られる。
$ docker-compose ps Name Command State Ports ---------------------------------------------------------------------------------