Files
eatvio-infra/Makefile

171 lines
5.0 KiB
Makefile

include .env.infra-example
clone:
git clone ${MY_APP_GIT_URL} app
start:
docker compose up -d
stop:
docker compose down --remove-orphans -v
restart: stop start
status:
docker compose ps
rm-promo-image-assets:
rm -rf app/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
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 vendor/bin/pint
fix-blade-formatting:
docker compose exec -T php-fpm ./node_modules/.bin/prettier --write resources/**/**/**/**/*.blade.php
artisan:
docker compose exec php-fpm ./artisan $(ARGS)
mysql-console:
docker compose exec mysql mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}
mysql-restore:
docker compose exec mysql mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE} \< /application/eatvio-11-03-2025.sql
mysql-save-prod-db:
mysqldump --single-transaction -u${PROD_DB_USER} -p${PROD_DB_PASS} -h10.55.5.7 -P1094 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 php-fpm npm run watch
build-frontend-prod:
docker compose exec php-fpm 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 npm run production
composer-do:
docker compose exec php-fpm composer dump-auto
run-once-oprations:
docker compose exec php-fpm bash -c "./artisan operations:process --test && ./artisan operations:process"
after-deploy-light: composer-do 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