forked from eatvio/eatvio-infra
180 lines
5.3 KiB
Makefile
180 lines
5.3 KiB
Makefile
include .env
|
|
|
|
clone:
|
|
git clone ${MY_APP_GIT_URL} app
|
|
|
|
rm-promo-image-assets:
|
|
docker compose exec php-fpm rm -rf application/database/assets/images
|
|
|
|
clone-promo-image:
|
|
git clone http://gitea.office.local:3000/alex_chevski/eatvio_images_assets app/database/assets/images
|
|
|
|
reinit-promo-images: rm-promo-image-assets clone-promo-image
|
|
|
|
start:
|
|
docker compose up -d
|
|
|
|
stop:
|
|
docker compose down
|
|
|
|
restart: stop start
|
|
|
|
status:
|
|
docker compose ps
|
|
|
|
bash:
|
|
docker compose exec php-fpm bash
|
|
|
|
worker-restart:
|
|
docker compose exec worker supervisorctl restart laravel-worker:*
|
|
|
|
clear-images:
|
|
docker compose exec php-fpm ./artisan clear:orphaned-images
|
|
|
|
links-images:
|
|
jdupes -r -1 -l app/storage/app
|
|
|
|
tinker:
|
|
docker compose exec php-fpm ./artisan tinker
|
|
|
|
reseed-db:
|
|
docker compose exec php-fpm bash -c "./artisan migrate:refresh; ./artisan db:seed"
|
|
|
|
setup-laravel-key:
|
|
docker compose exec php-fpm php /application/artisan key:generate
|
|
|
|
setup-laravel-packages:
|
|
docker compose exec php-fpm composer install
|
|
|
|
copy-laravel-env:
|
|
docker compose exec php-fpm cp /application/.env.example /application/.env
|
|
|
|
copy-infra-env:
|
|
cp .env.infra-example .env
|
|
|
|
run-migrations:
|
|
docker compose exec php-fpm ./artisan migrate
|
|
|
|
run-plan-seed:
|
|
docker compose exec php-fpm ./artisan db:seed --class=PlanSeeder
|
|
|
|
run-user-seed:
|
|
docker compose exec php-fpm ./artisan db:seed --class=UserSeeder
|
|
|
|
seed-db:
|
|
docker compose exec php-fpm ./artisan db:seed
|
|
|
|
fix-permissions:
|
|
docker compose exec php-fpm chown -R www-data:www-data storage
|
|
|
|
fix-code-style:
|
|
docker compose exec -T php-fpm bash -c "vendor/bin/pint --parallel; composer run fix-blade-fomatting"
|
|
|
|
fix-blade-formatting:
|
|
docker compose exec -T php-fpm composer run test-blade-formatting
|
|
|
|
artisan:
|
|
docker compose exec php-fpm ./artisan $(ARGS)
|
|
|
|
mysql-console:
|
|
docker compose exec mysql mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}
|
|
|
|
mysql-dump-local:
|
|
docker compose exec mysql mysqldump --single-transaction --skip-opt -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}
|
|
|
|
mysql-restore:
|
|
docker compose exec mysql bash -c "mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} < /application/eatvio-restore.sql"
|
|
|
|
mysql-save-prod-db:
|
|
mysqldump --single-transaction -u${PROD_DB_USER} -p${PROD_DB_PASS} -h${PROD_DB_HOST} -P${PROD_DB_PORT} eatvio > ${PROD_DB_FILE}
|
|
|
|
mysql-restore-saved-from-prod-db:
|
|
docker compose exec mysql bash -c "cat ./${PROD_DB_FILE} | mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}"
|
|
|
|
mysql-remove-latest-prod-db:
|
|
rm -f ${PROD_DB_FILE}
|
|
|
|
mysql-import-db-from-prod: mysql-save-prod-db mysql-restore-saved-from-prod-db mysql-remove-latest-prod-db
|
|
|
|
start-frontend:
|
|
docker compose exec frontend npm run watch
|
|
|
|
build-frontend-prod:
|
|
docker compose exec php-fpm bash -c "npm install -g npm@latest; npm run production"
|
|
|
|
make-storage-link:
|
|
docker compose exec php-fpm ./artisan storage:link
|
|
|
|
node-frontend-deps:
|
|
docker compose exec php-fpm npm i --legacy-peer-deps
|
|
|
|
paratest-bin:
|
|
docker compose exec -u www-data php-fpm vendor/bin/paratest
|
|
|
|
paratest-artisan:
|
|
docker compose exec -u www-data -T php-fpm ./artisan test --parallel --stop-on-failure --env=testing
|
|
|
|
fix-insights:
|
|
docker compose exec php-fpm vendor/bin/phpinsights --fix --config-path=./config/insights.php --no-interaction --min-quality=80 --min-complexity=90 --min-architecture=75 --min-style=95
|
|
|
|
insights:
|
|
docker compose exec -T php-fpm vendor/bin/phpinsights --config-path=./config/insights.php --no-interaction --min-quality=80 --min-complexity=90 --min-architecture=75 --min-style=95 --flush-cache
|
|
|
|
rector:
|
|
docker compose exec -T php-fpm vendor/bin/rector process --dry-run
|
|
|
|
static-analysis:
|
|
docker compose exec -T php-fpm composer static-analysis
|
|
|
|
detect-magic-numbers:
|
|
docker compose exec -u www-data -T php-fpm vendor/bin/phpmnd app/ tests/
|
|
|
|
fix-web-permissions:
|
|
docker compose exec -T php-fpm chown -R www-data:www-data bootstrap/cache storage
|
|
|
|
clear-app-cache:
|
|
docker compose exec php-fpm ./artisan optimize:clear
|
|
|
|
build-front:
|
|
docker compose exec php-fpm bash -c "npm install -g npm@latest;npm run production"
|
|
|
|
reindex-search:
|
|
docker compose exec php-fpm ./artisan search:init
|
|
|
|
composer-do:
|
|
docker compose exec php-fpm composer dump-auto
|
|
|
|
run-once-oprations:
|
|
docker compose exec php-fpm bash -c "./artisan operations:process"
|
|
|
|
reload-wokers:
|
|
docker-compose exec worker ./artisan queue:restart
|
|
|
|
after-deploy-light: composer-do run-migrations run-once-oprations clear-app-cache build-front fix-permissions reload-wokers
|
|
|
|
after-deploy: composer-do clear-app-cache run-migrations run-once-oprations build-front fix-permissions reload-wokers reindex-search
|
|
|
|
# ci: fix-web-permissions fix-code-style detect-magic-numbers test rector insights static-analysis fix-web-permissions
|
|
ci: fix-web-permissions detect-magic-numbers test rector insights static-analysis fix-web-permissions
|
|
|
|
local-composer-ci:
|
|
docker compose exec php-fpm composer ci
|
|
|
|
test: fix-web-permissions paratest-artisan
|
|
|
|
test-file-by-path:
|
|
docker compose exec php-fpm ./artisan test --env=testing $(ARGS)
|
|
|
|
local-ci: fix-web-permissions local-composer-ci fix-web-permissions
|
|
|
|
init: clone copy-infra-env restart setup-laravel-packages copy-laravel-env setup-laravel-key run-migrations node-frontend-deps build-frontend-prod fix-permissions make-storage-link
|
|
|
|
rebuild-services:
|
|
docker compose build --no-cache
|
|
|
|
pull-services:
|
|
docker compose pull
|
|
|
|
force-rebuild-services: stop rebuild-services pull-services start
|
|
|