diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 948998d5859b4e1c4e85b65751ad5bfd271b1817..8c2f2bb3af96a017de4ed9a34c7346d32a1c58d1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,47 +1,21 @@ image: docker:latest -# Définition des stages +services: + - name: docker:19.03.12 + alias: docker + +variables: + DOCKER_DRIVER: overlay2 + COMPOSE_FILE: "docker-compose.yml" + DOCKER_HOST: "tcp://docker:2375" # Peut être omis si Docker est installé sur l'hôte. + stages: - build - test - deploy - - .post # Ajout de la stage .post pour le nettoyage - -# Variables d'environnement, si nécessaires pour Docker Compose -variables: - DOCKER_DRIVER: overlay2 - COMPOSE_FILE: "compose.yaml" -# Job pour construire l'image Docker avec Docker Compose build: stage: build - services: - - docker:19.03.12-dind script: - docker-compose -f $COMPOSE_FILE build - docker-compose -f $COMPOSE_FILE up -d - -# Job de tests -test: - stage: test - services: - - docker:19.03.12-dind - script: - - docker-compose -f $COMPOSE_FILE exec php composer install - - docker-compose -f $COMPOSE_FILE exec php vendor/bin/phpunit - after_script: - - docker-compose -f $COMPOSE_FILE down - -# Job de déploiement -deploy: - stage: deploy - script: - - echo "Déploiement de l'application..." # Remplacer par tes propres commandes de déploiement - when: manual # Pour déployer manuellement - -# Job pour nettoyer les containers (modifié pour être dans la stage .post) -cleanup: - stage: .post # Utilisation de la stage .post - script: - - docker-compose -f $COMPOSE_FILE down - when: always