Этот репозиторий содержит примеры того, как вы можете улучшить свой набор тестов с помощью Docker. Примеры приведены на PHP или Node и требуют, чтобы Docker был установлен локально.
Используйте короткие инструкции ниже или ознакомьтесь с публикацией в блоге (скоро) для получения более подробной информации.
/ex-1
docker run --rm -v $(pwd):/app -w /app composer install
docker run --rm -v $(pwd):/app -w /app php:7.2 vendor/bin/phpunit index.php
(должно пройти)docker run --rm -v $(pwd):/app -w /app php:7.1 vendor/bin/phpunit index.php
(должно пройти)docker run --rm -v $(pwd):/app -w /app php:7.0 vendor/bin/phpunit index.php
(должно пройти)docker run --rm -v $(pwd):/app -w /app php:5.6 vendor/bin/phpunit index.php
(должна выдать синтаксическая ошибка) /ex-2
docker run --rm -v $(pwd):/app -w /app composer install
docker run --name database --rm -d -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql:5.7
docker run --rm -v $(pwd):/app -w /app --link database php:7.2 vendor/bin/phpunit index.php
(должен произойти сбой)docker build . -t php-72-mysqli
docker run --rm -v $(pwd):/app -w /app --link database php-72-mysqli vendor/bin/phpunit index.php
(должно пройти)docker rm -f database
/ex-3
docker run --rm -v $(pwd):/app -w /app composer install
docker build . -t php-72-mysqli
docker run --name database --rm -d -e MYSQL_ALLOW_EMPTY_PASSWORD=true -e MYSQL_DATABASE=test mysql:5.6
. Подождите несколько секунд, пока контейнер загрузится.docker run --rm -v $(pwd):/app -w /app --link database php-72-mysqli vendor/bin/phpunit index.php
(должен произойти сбой)docker rm -f database
docker run --name database --rm -d -e MYSQL_ALLOW_EMPTY_PASSWORD=true -e MYSQL_DATABASE=test mysql:5.7
. Подождите несколько секунд, пока контейнер загрузится.docker run --rm -v $(pwd):/app -w /app --link database php-72-mysqli vendor/bin/phpunit index.php
(должно пройти)docker rm -f database
/ex-4
docker run --rm -v $(pwd):/app -w /app composer install
docker build . -t php-72-mysqli
docker run --name database --rm -d -e MYSQL_ALLOW_EMPTY_PASSWORD=true -v $(pwd)/data:/var/lib/mysql mysql:5.7
. Подождите несколько секунд, пока контейнер загрузится.docker run --rm -v $(pwd):/app -w /app --link database php-72-mysqli vendor/bin/phpunit index.php
(должно пройти)docker rm -f database
/ex-5
docker-compose run --rm nightwatch
.docker-compose down
.Этот пример адаптирован из репозитория Nightwatch с открытым исходным кодом Blueimp.
/ex-6
docker-compose run --rm nightwatch
.docker-compose down
.Этот пример адаптирован из примера Node/Express с открытым исходным кодом b00giZm.
Copyright 2018, Карл Хьюз
Лицензируется по лицензии Apache версии 2.0 («Лицензия»); вы не можете использовать этот файл, кроме как в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу
http://www.apache.org/licenses/LICENSE-2.0
Если это не требуется действующим законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по Лицензии, распространяется на условиях «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ, явных или подразумеваемых. См. Лицензию для определения конкретного языка, регулирующего разрешения и ограничения в рамках Лицензии.