mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-08-05 14:37:27 +02:00
Merge pull request #293 from Hyunk3l/feature/dockerize-project
Feature/dockerize project
This commit is contained in:
10
README.md
10
README.md
@@ -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.
|
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:
|
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.
|
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
9
docker-compose.yml
Normal 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
21
docker/test_runner.sh
Executable 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
|
Reference in New Issue
Block a user