70 lines
2.4 KiB
Makefile
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
|