Files
e-cosplay/makefile
2025-07-16 11:29:00 +02:00

70 lines
2.4 KiB
Makefile

# --- Configuration ---
PHP_EXEC = docker compose exec php
CONSOLE = $(PHP_EXEC) php bin/console
# --- Scripts d'automatisation ---
# Note: Ces scripts sont complexes et utilisent '$$' pour échapper le '$' pour Make.
# --- Commandes Docker ---
.PHONY: pull build start stop restart logs logs-php
pull: ## Récupère les dernières images docker
@docker compose pull
build: ## Construit (ou reconstruit) les images docker du projet
@docker compose build
start: ## Démarre tous les services en mode détaché
@docker compose up -d # Ajout de -d pour le mode détaché par défaut
stop: ## Arrête tous les services
@docker compose down
restart: stop start ## Redémarre tous les services
logs: ## Affiche les logs de tous les services
@docker compose logs -f
logs-php: ## Affiche les logs du service PHP
@docker compose logs -f php
# --- Commandes d'Initialisation ---
init: ## Installation initiale du projet (sans Vault/MinIO)
@make pull
@make build
@make start
@make composer-install
@sleep 5
@make db-create
@make migrate
# --- Commandes Symfony & DB ---
.PHONY: db-create entity migration migrate composer-install deps
db-create: ## Crée la base de données
@$(CONSOLE) doctrine:database:create --if-not-exists
db-drop: ## Crée la base de données
@$(CONSOLE) doctrine:database:drop --force
entity: ## Lance la création/mise à jour d'une entité
@$(CONSOLE) make:entity
migration: ## Génère une nouvelle migration
@$(CONSOLE) make:migration
migrate: ## Applique les migrations
@$(CONSOLE) doctrine:migrations:migrate --no-interaction
composer-install: ## Installe les dépendances Composer
@$(PHP_EXEC) composer install
deps: composer-install ## Alias pour composer-install
dbtest_add: ## Crée la base de données
@$(CONSOLE) doctrine:database:create --env=test
dbtest_migrate: ## Crée la base de données
@$(CONSOLE) doctrine:migrations:migrate --env=test --no-interaction
dbtest_remove: ## Crée la base de données
@$(CONSOLE) doctrine:database:drop --env=test --force
# --- Aide ---
.PHONY: help
help: ## Affiche cet écran d'aide
@echo "Commandes disponibles mainframe :"
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
.DEFAULT_GOAL := help
gitlab_build:
docker build -t tools-registry.esy-web.dev/mainframe/mainframe:php docker/php
docker push tools-registry.esy-web.dev/mainframe/mainframe:php