mirror of
https://github.com/Sylius/Sylius.git
synced 2026-07-05 20:57:12 +00:00
[Maintenance][Docker]Create simple environment
This commit is contained in:
parent
642142b434
commit
49589a8c83
6 changed files with 186 additions and 0 deletions
5
.docker/dev/php.ini
Normal file
5
.docker/dev/php.ini
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
[PHP]
|
||||
memory_limit=512M
|
||||
|
||||
[date]
|
||||
date.timezone=${PHP_DATE_TIMEZONE}
|
||||
15
.docker/test/php.ini
Normal file
15
.docker/test/php.ini
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
[PHP]
|
||||
memory_limit=4096M
|
||||
|
||||
[date]
|
||||
date.timezone=${PHP_DATE_TIMEZONE}
|
||||
|
||||
[opcache]
|
||||
opcache.enable=1
|
||||
opcache.enable_cli=0
|
||||
opcache.memory_consumption=256
|
||||
opcache.max_accelerated_files=32531
|
||||
opcache.interned_strings_buffer=8
|
||||
opcache.validate_timestamps=0
|
||||
opcache.save_comments=1
|
||||
opcache.fast_shutdown=0
|
||||
55
.github/workflows/docker.yml
vendored
Normal file
55
.github/workflows/docker.yml
vendored
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
name: Docker Based Pipeline
|
||||
|
||||
on:
|
||||
push:
|
||||
|
||||
jobs:
|
||||
docker-compose:
|
||||
name: Excute Tests on Docker Compose
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
COMPOSE_FILE: docker-compose.test.yml
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Run PHPUnit, PHPSpec and Behat tests
|
||||
run: docker-compose run ci
|
||||
|
||||
docker:
|
||||
name: Excute Tests on Docker Containers
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
-
|
||||
name: Shutdown default MySQL
|
||||
run: sudo service mysql stop
|
||||
-
|
||||
name: Setup MySQL
|
||||
run: |
|
||||
docker network create sylius_network
|
||||
docker run \
|
||||
--platform linux/amd64 \
|
||||
-e MYSQL_ALLOW_EMPTY_PASSWORD=true \
|
||||
-p 3306:3306/tcp \
|
||||
--name mysql \
|
||||
--net sylius_network \
|
||||
-d mysql:5.7
|
||||
-
|
||||
name: Run PHPUnit, PHPSpec and Behat tests
|
||||
run: |
|
||||
docker run \
|
||||
-v "$(pwd)"/:/app:delegated \
|
||||
-v "$(pwd)"/.docker/test/php.ini:/etc/php/8.0/fpm/php.ini:delegated \
|
||||
-v "$(pwd)"/.docker/test/php.ini:/etc/php/8.0/cli/php.ini:delegated \
|
||||
-e DATABASE_URL="mysql://root@mysql/sylius_test" \
|
||||
-e APP_ENV="test" \
|
||||
-e PHP_DATE_TIMEZONE="Europe/Warsaw" \
|
||||
--net sylius_network \
|
||||
--entrypoint="" \
|
||||
-p 80:80/tcp \
|
||||
-i sylius/standard:1.11-traditional \
|
||||
make ci
|
||||
28
Makefile
Normal file
28
Makefile
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
init:
|
||||
composer install --no-interaction --no-scripts
|
||||
bin/console sylius:install --no-interaction
|
||||
bin/console sylius:fixtures:load default --no-interaction
|
||||
yarn install --pure-lockfile
|
||||
yarn build
|
||||
|
||||
ci:
|
||||
composer install --no-interaction --no-scripts
|
||||
bin/console sylius:install --no-interaction
|
||||
bin/console sylius:fixtures:load default --no-interaction
|
||||
bin/console cache:warmup
|
||||
yarn install --pure-lockfile
|
||||
yarn build
|
||||
vendor/bin/phpunit
|
||||
vendor/bin/phpspec run --ansi --no-interaction -f dot
|
||||
vendor/bin/behat --colors --strict --no-interaction -vvv -f progress --tags="~@javascript&&@cli&&~@todo" # CLI Behat
|
||||
vendor/bin/behat --colors --strict --no-interaction -vvv -f progress --tags="~@javascript&&~@cli&&~@todo" # NON JS Behat
|
||||
#vendor/bin/behat --colors --strict --no-interaction -vvv -f progress --tags="@javascript&&~@cli&&~@todo" # JS Behat
|
||||
|
||||
unit:
|
||||
vendor/bin/phpunit
|
||||
|
||||
spec:
|
||||
vendor/bin/phpspec run --ansi --no-interaction -f dot
|
||||
|
||||
behat:
|
||||
vendor/bin/behat --colors --strict --stop-on-failure --no-interaction -vvv -f progress
|
||||
32
docker-compose.test.yml
Normal file
32
docker-compose.test.yml
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
services:
|
||||
ci:
|
||||
image: sylius/standard:1.11-traditional
|
||||
entrypoint: ["make", "ci"]
|
||||
environment:
|
||||
APP_ENV: "test"
|
||||
DATABASE_URL: "mysql://root:mysql@mysql/sylius_test"
|
||||
PHP_DATE_TIMEZONE: "Europe/Warsaw"
|
||||
volumes:
|
||||
- ./:/app:delegated
|
||||
- ./.docker/test/php.ini:/etc/php/8.0/fpm/php.ini:delegated
|
||||
- ./.docker/test/php.ini:/etc/php/8.0/cli/php.ini:delegated
|
||||
ports:
|
||||
- 80:80
|
||||
depends_on:
|
||||
- mysql
|
||||
networks:
|
||||
- sylius
|
||||
|
||||
mysql:
|
||||
image: mysql:5.7
|
||||
platform: linux/amd64
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=mysql
|
||||
ports:
|
||||
- 3306:3306
|
||||
networks:
|
||||
- sylius
|
||||
|
||||
networks:
|
||||
sylius:
|
||||
driver: bridge
|
||||
51
docker-compose.yml
Normal file
51
docker-compose.yml
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
services:
|
||||
app:
|
||||
image: sylius/standard:1.11-traditional
|
||||
environment:
|
||||
APP_ENV: "dev"
|
||||
DATABASE_URL: "mysql://root:mysql@mysql/sylius_%kernel.environment%"
|
||||
# DATABASE_URL: "pgsql://root:postgres@postgres/sylius_%kernel.environment%" # When using postgres
|
||||
PHP_DATE_TIMEZONE: "Europe/Warsaw"
|
||||
MAILER_URL: "smtp://mailhog:1025"
|
||||
volumes:
|
||||
- ./:/app:delegated
|
||||
- ./.docker/dev/php.ini:/etc/php/8.0/fpm/php.ini:delegated
|
||||
- ./.docker/dev/php.ini:/etc/php/8.0/cli/php.ini:delegated
|
||||
ports:
|
||||
- 80:80
|
||||
depends_on:
|
||||
- mysql
|
||||
networks:
|
||||
- sylius
|
||||
|
||||
mysql:
|
||||
image: mysql:5.7
|
||||
platform: linux/amd64
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=mysql
|
||||
ports:
|
||||
- 3306:3306
|
||||
networks:
|
||||
- sylius
|
||||
|
||||
# postgres:
|
||||
# image: postgres:13
|
||||
# environment:
|
||||
# - POSTGRES_USER=root
|
||||
# - POSTGRES_PASSWORD=postgres
|
||||
# ports:
|
||||
# - 5432:5432
|
||||
# networks:
|
||||
# - sylius
|
||||
|
||||
mailhog:
|
||||
image: mailhog/mailhog
|
||||
ports:
|
||||
- 1025:1025 # SMTP
|
||||
- 8025:8025 # UI
|
||||
networks:
|
||||
- sylius
|
||||
|
||||
networks:
|
||||
sylius:
|
||||
driver: bridge
|
||||
Loading…
Add table
Reference in a new issue