Travis CI で docker-compose を動かす
この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。
前提条件
・動作させる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