t

メモ

test-kitchen + kitchen-docker on Mac OS X (2)

前回とそう変わらないが、Docker 側の変更に追従する必要がある気がした。

といっても Docker の設定は公式ドキュメントの通りなので何も難しくない。test-kitchen や kitchen-docker のインストールも変わったところはない。

$ brew install boot2docker
$ boot2docker init
$ boot2docker start
$ $(boot2docker shellinit)
$ gem install test-kitchen
$ gem install kitchen-docker

それで DOCKER_HOST をどうするかだけど、実は .kitchen.yml の中身は erb にかけられるらしいので、これを利用して DOCKER_HOST を読み込ませるのが良さそう(2015-02-03 追記: どうやら 1.6.0 からデフォルトで DOCKER_HOST を見るようになったらしいので、下記の socket の設定は不要になったはず)。

---
driver_plugin: docker

driver_config:
  use_sudo: false
  socket: <%= ENV.fetch('DOCKER_HOST', 'unix:///var/run/docker.sock') %>

provisioner:
  name: chef_solo

platforms:
  - name: ubuntu-12.04

suites:
  - name: foobar
    run_list:
      - "recipe[foo]"
      - "recipe[bar]"