Rockpedia : l'API qui fait du bruit

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>

1. Prérequis

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

2. Démarrer

  • 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

Vous devriez voir apparaître cette page :

3. Swagger

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

4. Lancer un build Jenkins

  • 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

5. Analyse SonarQube

  • On peut distinguer les bugs, les failles de sécurités, la dette technique, la couverture de code...

6. Surveillance avec Spring Actuator, Prometheus et Spring Boot Admin

Spring Actuator et Prometheus

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.

Spring Boot Admin

  • 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.