Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 95df725

Browse files
author
DKravtsov
committed
Updated Laravel to the latest version, Makefile improvements, performance optimization for Mac.
1 parent 1d4e3aa commit 95df725

35 files changed

+1686
-2252
lines changed

‎.dockerignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@ bootstrap/cache
1010
.phpstorm.meta.php
1111
Dockerfile
1212
_ide_helper.php
13-
Dockerfile
1413
docker-compose.yml
1514
docker-compose-test-ci.yml
1615
docker-compose-staging.yml
1716
docker-compose-prod.yml
18-
Makefile

‎.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ trim_trailing_whitespace = true
1111
[*.md]
1212
trim_trailing_whitespace = false
1313

14-
[*.{yml,yaml}]
14+
[*.yml]
1515
indent_size = 2
1616

1717
[{composer.json,Makefile}]

‎.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,8 @@ reports/*
1919
npm-debug.log
2020
yarn-error.log
2121
.phpunit.result.cache
22+
###> friendsofphp/php-cs-fixer ###
23+
.php-cs-fixer.cache
2224
.php_cs
2325
.php_cs.cache
26+
###< friendsofphp/php-cs-fixer ###

‎Dockerfile

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
FROM php:8.1-fpm
22

33
# set main params
4-
ARG BUILD_ARGUMENT_DEBUG_ENABLED=false
5-
ENV DEBUG_ENABLED=$BUILD_ARGUMENT_DEBUG_ENABLED
64
ARG BUILD_ARGUMENT_ENV=dev
75
ENV ENV=$BUILD_ARGUMENT_ENV
86
ENV APP_HOME /var/www/html
9-
ARG UID=1000
10-
ARG GID=1000
7+
ARG HOST_UID=1000
8+
ARG HOST_GID=1000
119
ENV USERNAME=www-data
12-
10+
ARG INSIDE_DOCKER_CONTAINER=1
11+
ENV INSIDE_DOCKER_CONTAINER=$INSIDE_DOCKER_CONTAINER
1312

1413
# check environment
1514
RUN if [ "$BUILD_ARGUMENT_ENV" = "default" ]; then echo "Set BUILD_ARGUMENT_ENV in docker build-args like --build-arg BUILD_ARGUMENT_ENV=dev" && exit 2; \
@@ -51,8 +50,8 @@ RUN apt-get update && apt-get upgrade -y && apt-get install -y \
5150
# create document root, fix permissions for www-data user and change owner to www-data
5251
RUN mkdir -p $APP_HOME/public && \
5352
mkdir -p /home/$USERNAME && chown $USERNAME:$USERNAME /home/$USERNAME \
54-
&& usermod -u $UID $USERNAME -d /home/$USERNAME \
55-
&& groupmod -g $GID $USERNAME \
53+
&& usermod -o -u $HOST_UID $USERNAME -d /home/$USERNAME \
54+
&& groupmod -o -g $HOST_GID $USERNAME \
5655
&& chown -R ${USERNAME}:${USERNAME} $APP_HOME
5756

5857
# put php config for Laravel

‎Makefile

Lines changed: 158 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
dir=${CURDIR}
21
export COMPOSE_PROJECT_NAME=environment3
32

43
ifndef APP_ENV
@@ -8,53 +7,107 @@ ifndef APP_ENV
87
endif
98
endif
109

11-
laravel_user=-u www-data
12-
project=-p ${COMPOSE_PROJECT_NAME}
13-
service=${COMPOSE_PROJECT_NAME}:latest
14-
interactive:=$(shell [ -t 0 ] && echo 1)
15-
ifneq ($(interactive),1)
16-
optionT=-T
10+
ifndef INSIDE_DOCKER_CONTAINER
11+
INSIDE_DOCKER_CONTAINER = 0
1712
endif
18-
ifeq ($(GITLAB_CI),1)
13+
14+
HOST_UID := $(shell id -u)
15+
HOST_GID := $(shell id -g)
16+
PHP_USER := -u www-data
17+
PROJECT_NAME := -p ${COMPOSE_PROJECT_NAME}
18+
INTERACTIVE := $(shell [ -t 0 ] && echo 1)
19+
ERROR_ONLY_FOR_HOST = @printf "033円[33mThis command for host machine033円[39m\n"
20+
ifneq ($(INTERACTIVE), 1)
21+
OPTION_T := -T
22+
endif
23+
ifeq ($(GITLAB_CI), 1)
1924
# Determine additional params for phpunit in order to generate coverage badge on GitLabCI side
20-
phpunitOptions=--coverage-text --colors=never
25+
PHPUNIT_OPTIONS := --coverage-text --colors=never
2126
endif
2227

2328
build:
24-
@docker-compose -f docker-compose.yml build
29+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
30+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose.yml build
31+
else
32+
$(ERROR_ONLY_FOR_HOST)
33+
endif
2534

2635
build-test:
27-
@docker-compose -f docker-compose-test-ci.yml build
36+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
37+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose-test-ci.yml build
38+
else
39+
$(ERROR_ONLY_FOR_HOST)
40+
endif
2841

2942
build-staging:
30-
@docker-compose -f docker-compose-staging.yml build
43+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
44+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose-staging.yml build
45+
else
46+
$(ERROR_ONLY_FOR_HOST)
47+
endif
3148

3249
build-prod:
33-
@docker-compose -f docker-compose-prod.yml build
50+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
51+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose-prod.yml build
52+
else
53+
$(ERROR_ONLY_FOR_HOST)
54+
endif
3455

3556
start:
36-
@docker-compose -f docker-compose.yml $(project) up -d
57+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
58+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose.yml $(PROJECT_NAME) up -d
59+
else
60+
$(ERROR_ONLY_FOR_HOST)
61+
endif
3762

3863
start-test:
39-
@docker-compose -f docker-compose-test-ci.yml $(project) up -d
64+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
65+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose-test-ci.yml $(PROJECT_NAME) up -d
66+
else
67+
$(ERROR_ONLY_FOR_HOST)
68+
endif
4069

4170
start-staging:
42-
@docker-compose -f docker-compose-staging.yml $(project) up -d
71+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
72+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose-staging.yml $(PROJECT_NAME) up -d
73+
else
74+
$(ERROR_ONLY_FOR_HOST)
75+
endif
4376

4477
start-prod:
45-
@docker-compose -f docker-compose-prod.yml $(project) up -d
78+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
79+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose-prod.yml $(PROJECT_NAME) up -d
80+
else
81+
$(ERROR_ONLY_FOR_HOST)
82+
endif
4683

4784
stop:
48-
@docker-compose -f docker-compose.yml $(project) down
85+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
86+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose.yml $(PROJECT_NAME) down
87+
else
88+
$(ERROR_ONLY_FOR_HOST)
89+
endif
4990

5091
stop-test:
51-
@docker-compose -f docker-compose-test-ci.yml $(project) down
92+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
93+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose-test-ci.yml $(PROJECT_NAME) down
94+
else
95+
$(ERROR_ONLY_FOR_HOST)
96+
endif
5297

5398
stop-staging:
54-
@docker-compose -f docker-compose-staging.yml $(project) down
99+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
100+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose-staging.yml $(PROJECT_NAME) down
101+
else
102+
$(ERROR_ONLY_FOR_HOST)
103+
endif
55104

56105
stop-prod:
57-
@docker-compose -f docker-compose-prod.yml $(project) down
106+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
107+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose -f docker-compose-prod.yml $(PROJECT_NAME) down
108+
else
109+
$(ERROR_ONLY_FOR_HOST)
110+
endif
58111

59112
restart: stop start
60113
restart-test: stop-test start-test
@@ -68,31 +121,66 @@ env-test-ci:
68121
@make exec cmd="cp ./.env.test-ci ./.env"
69122

70123
ssh:
71-
@docker-compose $(project) exec $(optionT) $(laravel_user) laravel bash
124+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
125+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose $(PROJECT_NAME) exec $(OPTION_T) $(PHP_USER) laravel bash
126+
else
127+
$(ERROR_ONLY_FOR_HOST)
128+
endif
129+
130+
ssh-root:
131+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
132+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose $(PROJECT_NAME) exec $(OPTION_T) laravel bash
133+
else
134+
$(ERROR_ONLY_FOR_HOST)
135+
endif
72136

73137
ssh-nginx:
74-
@docker-compose $(project) exec nginx /bin/sh
138+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
139+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose $(PROJECT_NAME) exec nginx /bin/sh
140+
else
141+
$(ERROR_ONLY_FOR_HOST)
142+
endif
75143

76144
ssh-supervisord:
77-
@docker-compose $(project) exec supervisord bash
145+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
146+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose $(PROJECT_NAME) exec supervisord bash
147+
else
148+
$(ERROR_ONLY_FOR_HOST)
149+
endif
78150

79151
ssh-mysql:
80-
@docker-compose $(project) exec mysql bash
152+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
153+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose $(PROJECT_NAME) exec mysql bash
154+
else
155+
$(ERROR_ONLY_FOR_HOST)
156+
endif
81157

82158
exec:
83-
@docker-compose $(project) exec $(optionT) $(laravel_user) laravel $$cmd
159+
ifeq ($(INSIDE_DOCKER_CONTAINER), 1)
160+
@$$cmd
161+
else
162+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose $(PROJECT_NAME) exec $(OPTION_T) $(PHP_USER) laravel $$cmd
163+
endif
84164

85165
exec-bash:
86-
@docker-compose $(project) exec $(optionT) $(laravel_user) laravel bash -c "$(cmd)"
166+
ifeq ($(INSIDE_DOCKER_CONTAINER), 1)
167+
@bash -c "$(cmd)"
168+
else
169+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose $(PROJECT_NAME) exec $(OPTION_T) $(PHP_USER) laravel bash -c "$(cmd)"
170+
endif
87171

88172
exec-by-root:
89-
@docker-compose $(project) exec $(optionT) laravel $$cmd
173+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
174+
@HOST_UID=$(HOST_UID) HOST_GID=$(HOST_GID) docker-compose $(PROJECT_NAME) exec $(OPTION_T) laravel $$cmd
175+
else
176+
$(ERROR_ONLY_FOR_HOST)
177+
endif
90178

91179
report-prepare:
92-
mkdir -p $(dir)/reports/coverage
180+
@make exec cmd="mkdir -p reports/coverage"
93181

94182
report-clean:
95-
rm -rf $(dir)/reports/*
183+
@make exec-by-root cmd="rm -rf reports/*"
96184

97185
wait-for-db:
98186
@make exec cmd="php artisan db:wait"
@@ -115,16 +203,32 @@ info:
115203
@make exec cmd="php --version"
116204

117205
logs:
206+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
118207
@docker logs -f ${COMPOSE_PROJECT_NAME}_laravel
208+
else
209+
$(ERROR_ONLY_FOR_HOST)
210+
endif
119211

120212
logs-nginx:
213+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
121214
@docker logs -f ${COMPOSE_PROJECT_NAME}_nginx
215+
else
216+
$(ERROR_ONLY_FOR_HOST)
217+
endif
122218

123219
logs-supervisord:
220+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
124221
@docker logs -f ${COMPOSE_PROJECT_NAME}_supervisord
222+
else
223+
$(ERROR_ONLY_FOR_HOST)
224+
endif
125225

126226
logs-mysql:
227+
ifeq ($(INSIDE_DOCKER_CONTAINER), 0)
127228
@docker logs -f ${COMPOSE_PROJECT_NAME}_mysql
229+
else
230+
$(ERROR_ONLY_FOR_HOST)
231+
endif
128232

129233
drop-migrate:
130234
@make exec cmd="php artisan migrate:fresh"
@@ -141,31 +245,22 @@ seed:
141245
@make exec cmd="php artisan db:seed --force"
142246

143247
phpunit:
144-
@make exec cmd="./vendor/bin/phpunit -c phpunit.xml --coverage-html reports/coverage $(phpunitOptions) --coverage-clover reports/clover.xml --log-junit reports/junit.xml"
248+
@make exec cmd="./vendor/bin/phpunit -c phpunit.xml --coverage-html reports/coverage $(PHPUNIT_OPTIONS) --coverage-clover reports/clover.xml --log-junit reports/junit.xml"
145249

146-
###> php-coveralls ###
147250
report-code-coverage: ## update code coverage on coveralls.io. Note: COVERALLS_REPO_TOKEN should be set on CI side.
148251
@make exec-bash cmd="export COVERALLS_REPO_TOKEN=${COVERALLS_REPO_TOKEN} && php ./vendor/bin/php-coveralls -v --coverage_clover reports/clover.xml --json_path reports/coverals.json"
149-
###< php-coveralls ###
150252

151-
###> phpcs ###
152-
phpcs: ## Run PHP CodeSniffer
253+
phpcs: ## Runs PHP CodeSniffer
153254
@make exec-bash cmd="./vendor/bin/phpcs --version && ./vendor/bin/phpcs --standard=PSR12 --colors -p app tests"
154-
###< phpcs ###
155255

156-
###> ecs ###
157-
ecs: ## Run Easy Coding Standard
256+
ecs: ## Runs Easy Coding Standard
158257
@make exec-bash cmd="./vendor/bin/ecs --version && ./vendor/bin/ecs --clear-cache check app tests"
159258

160259
ecs-fix: ## Run The Easy Coding Standard to fix issues
161260
@make exec-bash cmd="./vendor/bin/ecs --version && ./vendor/bin/ecs --clear-cache --fix check app tests"
162-
###< ecs ###
163-
164-
###> phpmetrics ###
165-
phpmetrics:
166-
@make exec-by-root cmd="make phpmetrics-process"
167261

168-
phpmetrics-process: ## Generates PhpMetrics static analysis, should be run inside symfony container
262+
phpmetrics: ## Runs phpmetrics
263+
ifeq ($(INSIDE_DOCKER_CONTAINER), 1)
169264
@mkdir -p reports/phpmetrics
170265
@if [ ! -f reports/junit.xml ] ; then \
171266
printf "033円[32;49mjunit.xml not found, running tests...033円[39m\n" ; \
@@ -174,28 +269,30 @@ phpmetrics-process: ## Generates PhpMetrics static analysis, should be run insid
174269
@echo "033円[32mRunning PhpMetrics033円[39m"
175270
@php ./vendor/bin/phpmetrics --version
176271
@php ./vendor/bin/phpmetrics --junit=reports/junit.xml --report-html=reports/phpmetrics .
177-
###< phpmetrics ###
272+
else
273+
@make exec-by-root cmd="make phpmetrics"
274+
endif
178275

179-
###> php copy/paste detector ###
180-
phpcpd:
276+
phpcpd: ## Runs php copy/paste detector
181277
@make exec cmd="php phpcpd.phar --fuzzy app tests"
182-
###< php copy/paste detector ###
183278

184-
###> php mess detector ###
185-
phpmd:
279+
phpmd: ## Runs php mess detector
186280
@make exec cmd="php ./vendor/bin/phpmd app text phpmd_ruleset.xml --suffixes php"
187-
###< php mess detector ###
188281

189-
###> PHPStan static analysis tool ###
190-
phpstan:
282+
phpstan: ## Runs PHPStan static analysis tool
283+
ifeq ($(INSIDE_DOCKER_CONTAINER), 1)
191284
@echo "033円[32mRunning PHPStan - PHP Static Analysis Tool033円[39m"
192-
@make exec cmd="php artisan cache:clear --env=test"
193-
@make exec cmd="./vendor/bin/phpstan --version"
194-
@make exec cmd="./vendor/bin/phpstan analyze app tests"
195-
###< PHPStan static analysis tool ###
285+
@php artisan cache:clear --env=test
286+
@./vendor/bin/phpstan --version
287+
@./vendor/bin/phpstan analyze app tests
288+
else
289+
@make exec cmd="make phpstan"
290+
endif
196291

197-
###> Phpinsights PHP quality checks ###
198-
phpinsights:
292+
phpinsights: ## Runs Php Insights PHP quality checks
293+
ifeq ($(INSIDE_DOCKER_CONTAINER), 1)
199294
@echo "033円[32mRunning PHP Insights033円[39m"
200-
@make exec cmd="php -d error_reporting=0 ./vendor/bin/phpinsights analyse --no-interaction --min-quality=100 --min-complexity=80 --min-architecture=100 --min-style=100"
201-
###< Phpinsights PHP quality checks ###
295+
@php -d error_reporting=0 ./vendor/bin/phpinsights analyse --no-interaction --min-quality=100 --min-complexity=80 --min-architecture=100 --min-style=100
296+
else
297+
@make exec cmd="make phpinsights"
298+
endif

‎app/Exceptions/Handler.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class Handler extends ExceptionHandler
2424
protected $dontReport = [];
2525

2626
/**
27-
* A list of the inputs that are never flashed for validation exceptions.
27+
* A list of the inputs that are never flashed to the session on validation exceptions.
2828
*
2929
* @var array<int, string>
3030
*/

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /