1
に失敗した場合でも、私はtravis.yml
に私のテストを実行している場所です成功:TravisCIビルドはテストが
# Run tests
script:
# Test application in Docker container
- ./tools/docker-test.sh
シェルスクリプトdocker-test.sh
は、次のようになります。
#!/usr/bin/env bash
githash="$(git rev-parse --short HEAD)"
echo "-------------------------------------------------"
echo "| Running unit tests |"
echo "-------------------------------------------------"
docker create -it --name test eu.gcr.io/test/test:$githash
docker start test
docker exec test /bin/sh -c "go test ./..."
docker stop test
docker rm -fv test
TravisCIビルドでも成功を収めていますテストが失敗した場合。
テストが失敗したかどうかをTravisCIに通知するにはどうすればよいですか?これがDockerから伝播されないエラー、シェルスクリプトから伝播されないエラー、TravisCIがテストが成功するか失敗するかを知らないという問題があるかどうかはわかりません。
なぜクリーンアップを機能に移動しましたか?それが必要だったのか、それともスタイルの好みなのでしょうか? – user1283776
docker stop testとdocker rm -f testについて、なぜかっこを入れましたか?私はこれらのコマンドがサブシェルで実行されることを理解しています。それをする利点は何ですか? – user1283776
クリーンアップ機能は、どのステップが失敗しても、ドッカーは後で 'トラップ 'によってクリーンアップされます。 – Matt