-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose-tasks-be.yml
115 lines (114 loc) · 3.78 KB
/
docker-compose-tasks-be.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
include:
- docker-compose.yml
services:
cli:
image: example_tasks_php
cap_drop: [all]
working_dir: /var/www/src/cli
entrypoint: php
volumes: [./tasks_be/:/var/www:ro]
networks: [backend]
links: [mysql, clickhouse, redis, mailpit]
composer:
image: example_tasks_php
cap_drop: [all]
working_dir: /var/www
entrypoint: composer
command: install --no-scripts --no-plugins --no-cache --no-progress --ignore-platform-reqs
volumes: [./tasks_be/:/var/www]
composer_tests:
image: example_tasks_php
cap_drop: [all]
working_dir: /var/www
entrypoint: composer
command: install --no-scripts --no-plugins --no-cache --no-progress --ignore-platform-reqs
volumes: [./tasks_be/tests/:/var/www]
psalm:
image: example_tasks_php
cap_drop: [all]
working_dir: /var/www
entrypoint: tests/vendor/bin/psalm --no-cache --show-info=true
volumes: [./tasks_be/:/var/www:ro]
network_mode: none
psalm_taint:
image: example_tasks_php
cap_drop: [all]
working_dir: /var/www
entrypoint: tests/vendor/bin/psalm --no-cache --taint-analysis
volumes: [./tasks_be/:/var/www:ro]
network_mode: none
phpstan:
image: example_tasks_php
cap_drop: [all]
working_dir: /var/www
entrypoint: php -dmemory_limit=192M tests/vendor/bin/phpstan analyze --no-progress --ansi
volumes: [./tasks_be/:/var/www:ro]
network_mode: none
phpcsfixer:
image: example_tasks_php
cap_drop: [all]
working_dir: /var/www
entrypoint: tests/vendor/bin/php-cs-fixer fix --verbose --dry-run --diff --config phpcsfixer.conf
volumes: [./tasks_be/:/var/www:ro]
network_mode: none
rector:
image: example_tasks_php
cap_drop: [all]
working_dir: /var/www
entrypoint: tests/vendor/bin/rector process --dry-run
volumes: [./tasks_be/:/var/www:ro]
network_mode: none
phpunit:
image: example_tasks_php
cap_drop: [all]
working_dir: /var/www
entrypoint: sh -c "
php -dextension=pcov.so tests/vendor/bin/phpunit --coverage-text --coverage-xml=/tmp/coverage
--coverage-html=/var/coverage/tasks --testsuite unit_integration --colors=always
&& php tests/utils/coverage.php"
volumes: [coverage-data:/var/coverage, ./tasks_be/:/var/www:ro]
networks: [backend]
links: [nginx, php, mysql, clickhouse, redis, mailpit]
phpunit_feature:
image: example_tasks_php
cap_drop: [all]
working_dir: /var/www
entrypoint: tests/vendor/bin/phpunit --testdox --testsuite feature --colors=always
volumes: [./tasks_be/:/var/www:ro]
networks: [backend]
links: [nginx, php, mysql, clickhouse, redis, mailpit]
phpmd:
image: example_tasks_php
cap_drop: [all]
working_dir: /var/www
entrypoint: tests/vendor/bin/phpmd . text phpmd.xml --exclude src/vendor/,tests/vendor/,tests/data/
volumes: [./tasks_be/:/var/www:ro]
network_mode: none
apib2openapi:
build: ./docker/apib2openapi
image: example_tasks_apib2openapi
cap_drop: [all]
working_dir: /docs
command: -i api.md --prefer-reference --bearer-apikey --open-api-3 -o api_openapi.json
volumes: [./tasks_be/docs:/docs]
network_mode: none
apib2php:
image: example_tasks_php
cap_drop: [all]
working_dir: /var/www
entrypoint: php
command: |
-r "file_put_contents('tests/data/api_openapi.php',
sprintf('<?php' . PHP_EOL . 'return %s;',
var_export(json_decode(file_get_contents('docs/api_openapi.json'), true), true)
));"
volumes: [./tasks_be/:/var/www]
network_mode: none
apib2html:
build: ./docker/apib2html
image: example_tasks_apib2html
cap_drop: [all]
working_dir: /docs
entrypoint: sh -c "blueprinter -i api.md -o api.html && gzip -f -9 api.html"
volumes: [./tasks_be/docs:/docs]
network_mode: none