Skip to content
Snippets Groups Projects
Commit a059cdc0 authored by Alexandre LINTE's avatar Alexandre LINTE
Browse files

Update file README.md

parent 394711f4
Branches
No related tags found
No related merge requests found
......@@ -314,11 +314,13 @@ Faire en sorte que PHPunit génère 2 rapports :
### Upload des artefacts
Définir les rapport de test en temps qu'artefact gitlab- CI.
Définir les rapports de test en temps qu'artefact et créer une dépendance entre votre job TU et sonarqube afin que les artefacts puissent être récupérés par SonarQube.
### Intégration des rapport à SonarQube
Intégrer vos rapports de coverage et de tests à SonarQube.
Intégrer vos rapports de coverage et de tests à SonarQube en modifiant le fichier sonar-project.properties
### Correction de vos fichier
......@@ -328,5 +330,88 @@ Corriger vos fichiers afin que la quality gate SonarQube soit OK.
A faire valider :
- [ ] Intégration des rapports de tests dans SonarQube
- [ ] Corrections apportées et Quality Gate OK
- [ ] Rapport de tests
- [ ] Rapport de coverage
- [ ] Présence de vos rapports dans les artefacts Gitlab CI
- [ ] Dépendance entre vos jobs TU et SonarQube
- [ ] Résumer des tests présent dans le statut de votre pipeline Gitlab CI
- [ ] Prise en compte de vos rapports de tests et de coverages par SonarQube
## Etape 5 : Quality Gate SonarQube
### Corrections de vos sources
Corriger vos sources afin de n'avoir plus aucun problème de type "code Smell"
### Corrections de la couverture de test
Modifier les tests pour obtenir 100% de couverture du code à 100%
Faire en sorte que le/les tests ajoutés ne soit pas OK.
Faire en sorte que le job TU finisse sans erreur avec ou sans présence d'erreurs (code retour 0).
### Modification Quality Gate SonarQube
Bien que l'ensemble des tests ne soient pas OK, le Quality Gate SonarQube est OK.
Créer une quality gate but3 identique à celle par défaut qui inclus en plus une contrainte avec 100% des tests OK.
Configurer votre projet avec cette Quality Gate
### Validation étape 5
A faire valider :
- [ ] job TU non bloquant en cas d'erreur
- [ ] Quality Gate but3
- [ ] Statut de votre pipeline GitLab & projet SonarQube avec un TU KO, puis tous les TU OK.
## Etape 6 : Déploiement Continue
### Créer une application
Créer une application de votre choix qui utilisera la librairie but\Average.
L'application est située dans le fichier src/index.php.
### Créer un job "release"
Ce job de releasing devra :
- être dépendant du passage de la quality gate.
- créer une image docker "but-$groupe" qui embarquera votre application
- déposer cette image docker dans la registry docker de votre projet gitlab
Aidez vous de la [documentation Gitlab](https://docs.gitlab.com/ee/user/packages/container_registry/build_and_push_images.html)
Fichier Dockfile nécessaire à la construction de votre image docker à la racine de votre dépôt :
```
FROM php:8.1-apache
COPY src/ /var/www/html/
```
### Crer un job "deploy"
Le job de déploiement consiste à se connecter en SSH sur la machine cible du déploiement (SSH_HOST) à l' aide d'un nom d'utilisateur (SSH_USER) et d'une clé privée (SSH_KEY).
Puis de lancer sur la machine cible une instance de l'image docker générée lors du job "release".
Ce job de déploiement devra :
- être dépendant du releasing de votre image docker
- se baser sur une image [ubuntu:latest](https://hub.docker.com/_/ubuntu)
- s'appuyer sur des variables d'environnements de votre projet définit ci dessous
Variables d'environnements à configurer :
- SSH_HOST : 172.17.x.x
- SSH_USER : but
- SSH_KEY :
```
TbC
```
- DOCKER_NAME : but-run-$groupe
- DOCKER_PORT : 10 000 + $groupe (10 006 si $groupe est égal à 6)
### Validation étape 6
A faire valider :
- [ ] pipeline intégrant 4 jobs : TU, SonarQube, release, deploy
- [ ] Image docker présente dans la registry
- [ ] Variables d'environnement correctements renseignées dans le projet
- [ ] Lancer une modification du index.php, suivre la pipeline et visualiser la modication sur http://SSH_HOST:DOCKER_PORT/
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment