forked from eatvio/eatvio-infra
171 lines
5.0 KiB
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
|
|
|
|
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
|
|
|
|
test-artisan:
|
|
docker compose exec -u www-data php-fpm ./artisan test --stop-on-failure --env=testing
|
|
|
|
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
|
|
|
|
pull:
|
|
cd app && git pull ssh://git@10.55.5.123:222/eatvio/eatvio.git && cd ../
|
|
|
|
update: pull restart fix-permissions setup-laravel-packages run-migrations
|
|
|
|
local-composer-ci:
|
|
docker compose exec php-fpm composer ci
|
|
|
|
test: fix-web-permissions test-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
|
|
|