Configurer un serveur de configuration Spring Cloud
Dans ce module, vous allez configurer un serveur de configuration Spring Cloud, entièrement managé et pris en charge par Azure Spring Apps, et qui sera utilisé par les microservices Spring Boot.
Ce serveur de configuration Spring Cloud obtient ses données de configuration d’un dépôt Git, où les fichiers de configuration Spring Boot sont stockés. Le stockage des fichiers de configuration avec ce mécanisme présente les avantages suivants :
- Les paramètres sensibles de votre application (comme le mot de passe de votre base de données) ne seront pas vérifiés dans le code de votre application.
- Le dépôt Git qui stocke votre configuration peut être sécurisé de sorte que seule une équipe d’exploitation puisse y accéder.
- Comme les fichiers de configuration sont stockés dans Git, vous pouvez les étiqueter ou les restaurer, ce qui facilite la gestion de votre environnement de production.
- Il offre un emplacement centralisé pour stocker toutes vos données de configuration, pour tous vos microservices.
Créer un dépôt Git pour le stockage de la configuration de l’application
Sur votre compte GitHub, créez un dépôt privé dans lequel les configurations Spring Boot seront stockées.
Dans le nouveau dépôt GitHub privé, ajoutez un nouveau fichier application.yml, qui stocke les données de configuration de tous nos microservices.
Généralement, chaque application Spring Boot inclut ce type de fichier dans ses binaires pour contenir les paramètres d’application. Un serveur de configuration Spring Cloud permet de stocker ces paramètres en dehors de votre application, ce qui offre les avantages suivants :
- Il permet de stocker des paramètres sensibles (tels que le mot de passe de votre base de données) en dehors de votre application.
- Votre configuration est stockée dans un dépôt Git de sorte que ses données peuvent être étiquetées ou restaurées.
- Il utilise un dépôt Git spécifique, qui peut être sécurisé séparément.
- Il offre un emplacement centralisé pour stocker toutes vos données de configuration, pour tous vos microservices.
Pour le moment, notre fichier application.yml stocke juste un message pour vérifier si la configuration a réussi :
application:
message: Configured by Azure Spring Apps
Commitez et envoyez (push) le nouveau fichier :
git add application.yml
git commit -m 'Add new Spring Boot configuration file'
git push
Créer un jeton personnel GitHub
Azure Spring Apps peut accéder aux référentiels Git publics, sécurisés par SSH ou sécurisés à l'aide de l'authentification de base HTTP. Nous utiliserons cette dernière option, car elle est plus facile à créer et à gérer avec GitHub.
Suivez le guide GitHub pour créer un jeton personnel et enregistrez votre jeton. Lorsque vous êtes invité à sélectionner les étendues, cochez la totalité de la section « repo » et rien d’autre.
Une fois le jeton généré, laissez cet onglet ouvert jusqu’à la fin de cette section.
Configurer Azure Spring Apps pour accéder au dépôt Git
Accédez au portail Azure et recherchez Azure Spring Apps.
Accédez à la page de vue d’ensemble de votre serveur Azure Spring Apps, puis sélectionnez Serveur de configuration dans le menu.
Configurez le dépôt que vous avez créé précédemment :
Ajoutez l’URL du dépôt, par exemple
https://github.com/<YOUR_USERNAME>/azure-spring-cloud-config
ougit@github.com:<YOUR_USERNAME>/azure-spring-cloud-config.git
.Conseil
Veillez à inclure le
.git
final dans l’URL, ou utilisez l’URI qualifié.Ajoutez votre branche dans
Label
. Sa valeur par défaut estmain
sur GitHub, mais les dépôts plus anciens ou d’autres fournisseurs Git peuvent encore utilisermaster
.Sélectionnez Authentification et sélectionnez HTTP de base.
Le nom d’utilisateur est votre nom de connexion GitHub.
Le mot de passe est le jeton personnel que nous avons créé dans la section précédente.
Sélectionnez Valider et attendez que l’opération réussisse.
Sélectionnez Appliquer et attendez que l’opération réussisse.
Révision
Nous avons créé un dépôt de configuration privé. Nous avons également permis à Azure Spring Apps de créer un serveur de configuration avec les fichiers de configuration de ce dépôt.