前提条件
・動作させるdocker-compose.ymlを作成済み(versionは2までしか対応してない?)
.travis.yml の作成
Travis CI で docker-compose(追加パッケージも)を動作させる場合、公式が公開している方法に従い、before_install セクションを用意してインストール、権限付与等を行う。
services:
- docker
env:
- DOCKER_COMPOSE_VERSION: 1.8.0
before_install:
- sudo rm /usr/local/bin/docker-compose
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
- chmod +x docker-compose
- sudo mv docker-compose /usr/local/bin
- docker-compose up -d
Travis CIでビルドが正常に完了するかを確認する場合は、上記の設定のみでOK。
複数のdockerを使用した結合テストを実行する場合、scriptセクションを使用することでテストできる。
# 例
script:
- docker-compose exec {コンテナ名} ./test/run-test.sh
全体をまとめると、以下のようになる。scriptセクションは適宜変更する。
services:
- docker
env:
- DOCKER_COMPOSE_VERSION: 1.8.0
before_install:
- sudo rm /usr/local/bin/docker-compose
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
- chmod +x docker-compose
- sudo mv docker-compose /usr/local/bin
- docker-compose up -d
script:
- docker-compose exec {コンテナ名} ./test/run-test.sh