diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 00000000..e31b01cd --- /dev/null +++ b/.drone.yml @@ -0,0 +1,59 @@ +kind: pipeline +type: docker +name: HeartWave + +trigger: + event: + - push + +steps: + - name: test + image: composer:2.6 + commands: + - cd Sources + # Installe les dépendances PHP si nécessaire + - composer install --no-interaction + - ./vendor/bin/phpunit + + # 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 ] diff --git a/Sources/config/.htaccess b/Sources/config/.htaccess new file mode 100644 index 00000000..53a0f832 --- /dev/null +++ b/Sources/config/.htaccess @@ -0,0 +1,17 @@ +# Activer la réécriture d'URL +RewriteEngine On + +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d + +RewriteRule ^ index.php [QSA,L] + + + Order Allow,Deny + Deny from all + + + + Order Allow,Deny + Deny from all + diff --git a/Sources/config/Dockerfile b/Sources/config/Dockerfile index e69de29b..750c9ee9 100644 --- a/Sources/config/Dockerfile +++ b/Sources/config/Dockerfile @@ -0,0 +1,19 @@ +FROM php:8.2-apache +# Installation de dépendances nécessaires pour Composer +RUN apt-get update && apt-get install -y \ + git \ + unzip + +# Installation de Composer +# TODO : should use a image with composer install +RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer + +RUN docker-php-ext-install pdo pdo_mysql + +COPY . /var/www/html + +WORKDIR /var/www/html +RUN chown -R www-data:www-data /var/www/html +RUN composer install +EXPOSE 80 + diff --git a/Sources/tests/Tests.php b/Sources/tests/Tests.php new file mode 100644 index 00000000..86245680 --- /dev/null +++ b/Sources/tests/Tests.php @@ -0,0 +1,12 @@ +