diff --git a/.drone.yml b/.drone.yml index 0cc797dc..5fdd6674 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,13 +1,62 @@ kind: pipeline type: docker -name: default +name: HeartWave trigger: event: - push - -steps: - - name: toto - image: busybox:latest - commands: - - ls \ No newline at end of file + +steps: + # Test ✔️ + - name: test + image: composer:2.6 + commands: + - cd Sources + # Installe les dépendances PHP si nécessaire + - composer install --no-interaction + - ./vendor/bin/phpunit tests + + # Sonar static code analisis deployment + # TODO : use an image that already have unzip + - name: code-analysis + image: php:8.1-cli + environment: + SONAR_TOKEN: + from_secret: SONAR_TOKEN + commands: + - apt-get update && apt-get install -y curl unzip + - export SONAR_SCANNER_VERSION=4.7.0.2747 + - export SONAR_SCANNER_HOME=$HOME/.sonar/sonar-scanner-$SONAR_SCANNER_VERSION-linux + - curl --create-dirs -sSLo $HOME/.sonar/sonar-scanner.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-$SONAR_SCANNER_VERSION-linux.zip + - unzip -o $HOME/.sonar/sonar-scanner.zip -d $HOME/.sonar/ + - export PATH=$SONAR_SCANNER_HOME/bin:$PATH + - export SONAR_SCANNER_OPTS="-server" + - cd Sources + - sonar-scanner -D sonar.projectKey=HeartTrack -D sonar.host.url=https://codefirst.iut.uca.fr/sonar + depends_on: [ test ] + + # build image and push on the registry ✔️ + - name: docker-build-and-push + image: plugins/docker + settings: + dockerfile: Sources/config/Dockerfile + context: Sources + registry: hub.codefirst.iut.uca.fr + repo: hub.codefirst.iut.uca.fr/david.d_almeida/web + username: + from_secret: SECRET_REGISTRY_USERNAME + password: + from_secret: SECRET_REGISTRY_PASSWORD + + - name: notify + image: ruby:2.1 + when: + status: [ success ] + ref: + include: + - refs/tags/*-demo + commands: + - sh ./notifymail.sh + depends_on: [ docker-build-and-push ] + +