Merge pull request #293 from Hyunk3l/feature/dockerize-project

Feature/dockerize project
This commit is contained in:
Dominik Liebler 2017-08-22 21:42:54 +02:00 committed by GitHub
commit 78112fc274
3 changed files with 39 additions and 1 deletions

View File

@ -13,7 +13,15 @@ I think the problem with patterns is that often people do know them but don't kn
You should look at and run the tests to see what happens in the example.
To do this, you should install dependencies with `Composer` first:
### [optional] Using a Virtual Machine (VM)
### [option] Using Docker
You can optionally run tests using [Docker for Mac](https://www.docker.com/docker-mac) or [Windows](https://www.docker.com/docker-windows) or native one for [Linux](https://www.docker.com/docker-debian).
Just run:
```
docker-compose up
```
### [optional] [DEPRECATED] Using a Virtual Machine (VM)
If you wish to use a ready made VM environment, you can easily create one with Vagrant and Ansible.

9
docker-compose.yml Normal file
View File

@ -0,0 +1,9 @@
version: "3.1"
services:
php:
image: php:7.1.7-cli
volumes:
- .:/opt/php
privileged: true
command: ["/opt/php/docker/test_runner.sh"]

21
docker/test_runner.sh Executable file
View File

@ -0,0 +1,21 @@
#!/usr/bin/env bash
cd /opt/php
echo "Installing composer..."
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
echo "Downloading dependencies using composer..."
php composer.phar install --prefer-dist --no-interaction
echo "Running tests..."
if ./vendor/bin/phpunit; then
echo "Tests passed successfully!"
exit 0
else
echo "Tests failed :("
exit 1
fi