kind: pipeline
type: docker
name: Frontend CI/CD

trigger:
  event:
    - push

steps:
  - name: code-analysis
    image: hub.codefirst.iut.uca.fr/alix.jeudi--lemoine/codefirst-dronesonarplugin-node:latest
    commands:
      - npm install
      - /opt/sonar-scanner/bin/sonar-scanner 
        -Dsonar.login=$PLUGIN_SONAR_TOKEN 
        -Dsonar.projectKey=SAE3A_MemoryMap-front 
        -Dsonar.sources=src 
        -Dsonar.exclusions=**/*.spec.ts,**/node_modules/**
    settings:
      sonar_token:
        from_secret: SECRET_SONAR_TOKEN

  - name: docker-build-and-push
    image: plugins/docker
    settings:
      dockerfile: docker/Dockerfile
      context: .
      registry: hub.codefirst.iut.uca.fr
      mirror: https://proxy.iut.uca.fr:8443
      repo: hub.codefirst.iut.uca.fr/alix.jeudi--lemoine/memorymap_front
      username:
        from_secret: SECRET_REGISTRY_USERNAME
      password:
        from_secret: SECRET_REGISTRY_PASSWORD
    depends_on: [ code-analysis ]

  - name: deploy-frontend
    image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest
    environment:
      IMAGENAME: hub.codefirst.iut.uca.fr/alix.jeudi--lemoine/memorymap_front:latest
      CONTAINERNAME: frontend
      COMMAND: create
      OVERWRITE: true
      ADMINS: alixjeudi--lemoine,alexisferon,mathisframit,maxencejouannet
    depends_on: [ docker-build-and-push ] 