image: tools-registry.esy-web.dev/mainframe/mainframe # Utilisation de l'image Docker spécifiée stages: - install - test - build - analyse - deploy # Services Docker définis globalement, disponibles pour tous les jobs services: - redis:7-alpine - postgres:16-alpine install_dependencies: stage: install script: - echo "Starting installation stage..." - echo "Dependencies installed successfully." # tags: # - docker # Retiré car l'image est spécifiée globalement run_tests: stage: test script: - echo "Starting testing stage..." - echo "Tests completed successfully." needs: - install_dependencies # Ce job dépend du job 'install_dependencies' # tags: # - docker # Retiré car l'image est spécifiée globalement build_application: stage: build script: - echo "Starting build stage..." - echo "Application built successfully." needs: - run_tests # Ce job dépend du job 'run_tests' # tags: # - docker # Retiré car l'image est spécifiée globalement analyse_code: stage: analyse script: - echo "Starting analysis stage..." - echo "Running SonarQube analysis..." - echo "Code analysis completed." needs: - build_application # Ce job dépend du job 'build_application' # tags: # - docker # Retiré car l'image est spécifiée globalement deploy_application: stage: deploy script: - echo "Starting deployment stage..." - echo "Application deployed successfully." needs: - analyse_code # Ce job dépend maintenant du job 'analyse_code' # Ce job ne s'exécutera que sur la branche 'main' only: - main # tags: # - docker # Retiré car l'image est spécifiée globalement