Voici les instructions à suivre pour être prêt à coder le plus rapidemment possible.
<u>1. Prérequis</u>
<u>2. Démarrer l'application</u>
<u>3. Swagger</u>
<u>4. Lancer un build Jenkins</u>
<u>5. Analyse SonarQube</u>
<u>6. Surveillance avec Spring Actuator, Prometheus et Spring Boot Admin</u>
Vous aurez besoin des outils suivants :
- Maven (v3.6.3 ou +)
- JDK8
- Git
- un IDE (nous conseillons Intellij si possible)
- un compte Github (pour pouvoir commit)
- un compte sur la plateforme Jenkins
- Clonez le dépot :
git clone https://github.com/ALudwig57/Rockpedia
- Build avec maven
mvn build
- Executez les tests
mvn test
- Build un package
mvn package
- Démarrez l'application
mvn spring-boot:run
- Rendez vous à l'adresse http://localhost:8080/ avec un navigateur
Vous devriez voir apparaître cette page :
Swagger est la documentation de l'application. Elle est accessible en local à l'adresse http://localhost:8080/swagger-ui.html et en ligne : [https://groupe1.m2gi.win/swagger-ui.html
-
Rendez vous à l'adresse https://jenkins.m2gi.win/
-
Connectez vous. Si tout se passe bien, vous devriez arriver sur un écran comme celui-ci :
-
Cliquez sur le nom du projet
-
Cliquez sur lancer un build
-
Vous devriez voir que quelque chose a démarré. Cliquez sur le #nombre à côté du point clignotant.
-
Cliquez sur Console Output pour voir le déroulement du build
-
Une fois le build terminé avec succès, passez à l'étape suivante
-
Rendez vous à l'adresse https://sonarqube.m2gi.win/dashboard?id=com.example%3Arockpedia
-
Vous arrivez sur le tableau de bord de l'application
- On peut distinguer les bugs, les failles de sécurités, la dette technique, la couverture de code...
Spring actuator est déjà activé. Cela permet de voir pas mal d'infos relatives à l'application à l'adresse http://localhost:8080/actuator.
J'ai mis en évidence les plus utiles :
-
health : permet de savoir si l'application fonctionne (UP) ou pas
-
info : informations générales sur l'application
-
prometheus : beaucoup d'informations pas très lisibles, surtout utilisé par des applications externes comme graphana ou Spring Boot Admin, que nous allons voir dans un instant.
- metrics : données de surveillance, accessibles à l'adresse http://localhost:8080/actuator/metrics/${DATA} (avec ${DATA} le nom de ce que vous voulez inspecter)
- Clonez le dépot :
git clone https://github.com/SmileEdge/SpringBootAdmin.git
- Build avec maven
mvn build
- Démarrez l'application
mvn spring-boot:run
- Rendez vous à l'adresse http://localhost:8081/ avec un navigateur, connectez-vous avec le nom d'utilisateur admin et le mot de passe admin et selectionnez l'application spring-boot-application en cliquant une fois dessus, puis sur le numéro sous l'adresse http://localhost:8080/.Nous voulons toujours savoir si notre application fonctionne correctement, une fois lancée. C'est ce que permettent les outils que nous allons voir.
Sur la page d'accueil, on peut voir les mêmes infos que par la route info de Spring Actuator, le nombre de threads de l'application, la mémoire utilisée, le nombre de passages du garbage collector...
Aperçus > Metriques permet d'ajouter des métriques visibles sur actuator/metrics.
Aperçus > Envirronement liste les variables d'environnement de l'application.
Aperçus > Propriétés de configuration liste d'autres variables d'environement, plus spécifiques à Spring.
Loggers permet de définir la priorité des logs à afficher (DEBUG < FATAL).Nous voulons toujours savoir si notre application fonctionne correctement, une fois lancée. C'est ce que permettent les outils que nous allons voir.