savanna日報から改変してブログに書く試み
ref: slackのhuddle良さそう - savanna.io
- Railsがdocker環境でなければheadlessではないchromeを使うのが楽
- Railsがdocker環境であれば、remote debuggingを有効にする
remote-debugging-port=9222
remote-debugging-address=0.0.0.0
- この2つをオプションにつけてheadless chromeを立ち上げる
- もちろんdocker-compose.ymlで9222ポートにアクセスできるようにしておく必要がある
- binding.pryなどのブレークポイントをしかけてテストを実行し、ブレークポイントで止まったらおもむろに localhost:9222 にアクセスするとその時の画面が表示できる
- このとき、テストを実行する環境をdocker-compose runで実行していると表示できない
- デフォルトだと、たとえdocker-compose.ymlに適切にportsの設定をしてもホスト側からは接続できないという仕様
docker-compose up
している状況でdocker-compose runでワンタイムなコマンドを実行するときにportが被ってエラーになる、というのを防ぐため- ref: https://github.com/docker/compose/issues/1259
docker-compose run --service-ports hoge
のようにservice-portsオプションを付けるとホストからつなぐことができる