diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..7bc7fc15a642b18d73499227813bf7af763eeace --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,45 @@ +stages: + - build + - test + - deploy + +variables: + DOCKER_IMAGE: "registry.gitlab.com/votre-projet/symfony-app" + PHP_IMAGE: "php:8.2-cli" + +before_script: + - apt-get update && apt-get install -y unzip git curl + +# Étape 1 : Build de l'image Docker +build: + stage: build + image: docker:latest + services: + - docker:dind + script: + - docker build -t $DOCKER_IMAGE . + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker push $DOCKER_IMAGE + +# Étape 2 : Exécution des tests Symfony (PHPUnit) +test: + stage: test + image: $PHP_IMAGE + services: + - mysql:latest + script: + - docker-compose up -d database mailer + - composer install + - php bin/phpunit + only: + - main # Exécute les tests uniquement sur la branche principale + +# Étape 3 : Déploiement (optionnel) +deploy: + stage: deploy + image: alpine:latest + script: + - echo "Déploiement en cours..." + - ssh root@mon-serveur "docker pull $DOCKER_IMAGE && docker-compose up -d" + only: + - main # Déploie seulement si c'est sur la branche main diff --git a/.gitlab-ci.yml:Zone.Identifier b/.gitlab-ci.yml:Zone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391