2016-08-18 13 views
1

を実行している間、私はこのようになりますMakefileを持っている:実行ドッカ統合テストコンテナのdevのコンテナが

dev: 
    docker-compose up -d --build 

test: 
    DOCKER_ENV="-test" docker-compose up -d --build 
    // run some integration tests on the containers then 
    // shut them down (and let ephemeral database disappear) 
    DOCKER_ENV="-test" docker-compose down -v 

そして、私のドッキングウィンドウ-コンは以下のようになります。私はmake devを実行しよう

services: 
    foo: 
    container_name: foo${DOCKER_ENV} 
    image: foo:latest 
    bar: 
    container_name: bar${DOCKER_ENV} 
    image: bar:latest 

make testは、別のコンテナセット全体を作成するのではなく、新しい名前( "テスト")でdevコンテナを再構築します。

私はdev環境を稼働したままにし、定期的にテスト環境をスピンアップできますか? (私たちは、いくつかの点でCIでこれをやるが、私は、開発者がローカルにすべてのテストを実行できるようにしたい。)

答えて

2

はテストから別のDEVにドッキングウィンドウ・コンプロジェクト名を使用して、例えば:

dev: 
    docker-compose up -d --build 

test: 
    export DOCKER_PROJ=`basename \`pwd\``"-test" 
    docker-compose -p ${DOCKER_PROJ} up -d --build 
    // run some integration tests on the containers then 
    // shut them down (and let ephemeral database disappear) 
    docker-compose -p ${DOCKER_PROJ} down -v 

(私のMakefile構文は少し錆びているので、もっとクリーンな方法があります)

+2

'-p'を使う代わりに' COMPOSE_PROJECT_NAME' env変数を設定することもできます。 – dnephin

関連する問題