kind: pipeline type: docker name: HeartWave trigger: event: - push steps: # Test ✔️ - name: test image: composer:2.6 commands: - cd Sources - rm -r vendor - rm composer.lock # Installe les dépendances PHP si nécessaire - php composer.phar 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 ] - name: rewrite-urls image: 'busybox:latest' commands: - cd Sources - ls - >- find . -type f -exec sed -i -r "s@(href|src)=\"/@\1=\"$${PLUGIN_CONTAINER_PATH}@g" {} + settings: container_path: https://codefirst.iut.uca.fr/containers/HeartDev-web/ # build image and push on the registry ✔️ - name: docker-build-and-push image: plugins/docker settings: commands: ls dockerfile: Sources/config/Dockerfile context: Sources registry: hub.codefirst.iut.uca.fr repo: hub.codefirst.iut.uca.fr/david.d_almeida/web mirror: https://proxy.iut.uca.fr:8443 username: from_secret: SECRET_REGISTRY_USERNAME password: from_secret: SECRET_REGISTRY_PASSWORD depends_on: - rewrite-urls - name: deploy-container image: >- hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest environment: IMAGENAME: 'hub.codefirst.iut.uca.fr/david.d_almeida/web:latest' CONTAINERNAME: web COMMAND: create OVERWRITE: true ADMINS: david.d_almeida depends_on: - docker-build-and-push - name: notify image: ruby:2.1 when: status: [ success ] ref: include: - refs/tags/*-demo commands: - sh ./notifymail.sh depends_on: [ docker-build-and-push ]