Configurare un'istanza di Spring Cloud Config Server
In questo modulo si configurerà un'istanza di Spring Cloud Config Server, completamente gestita e supportata da Azure Spring Apps, per consentirne l'uso da parte dei microservizi Spring Boot.
Spring Cloud Config Server ottiene i dati di configurazione da un repository Git in cui sono archiviati i file di configurazione di Spring Boot. L'archiviazione dei file di configurazione con questo meccanismo offre i vantaggi seguenti:
- I parametri sensibili dell'applicazione, ad esempio la password del database, non verranno archiviati nel codice dell'applicazione.
- Il repository Git che archivia la configurazione può essere protetto, così che solo un team operativo possa accedervi.
- Poiché i file di configurazione vengono archiviati in Git, è possibile contrassegnarli o eseguirne il rollback, semplificando la gestione dell'ambiente di produzione.
- Viene fornita una posizione centralizzata per archiviare tutti i dati di configurazione per tutti i microservizi.
Creare un repository Git per archiviare la configurazione dell'applicazione
Nell'account GitHub creare un nuovo repository privato in cui verranno archiviate le configurazioni di Spring Boot.
Nel nuovo repository GitHub privato aggiungere un nuovo file application.yml che archivia i dati di configurazione per tutti i microservizi.
In genere, ogni applicazione Spring Boot include un file di questo tipo all'interno dei file binari dell'applicazione per contenere le impostazioni dell'applicazione. Spring Cloud Configuration Server consente di archiviare tali impostazioni all'esterno dell'applicazione, con i vantaggi seguenti:
- I parametri sensibili (ad esempio la password del database) possono essere archiviati all'esterno dell'applicazione.
- La configurazione viene archiviata in un repository Git, quindi è possibile contrassegnare i dati o eseguirne il rollback.
- Viene usato un repository Git specifico, che può essere protetto separatamente.
- Viene fornita una posizione centralizzata per archiviare tutti i dati di configurazione per tutti i microservizi.
Per il momento, nel file application.yml viene archiviato solo un messaggio per controllare che la configurazione sia stata eseguita correttamente:
application:
message: Configured by Azure Spring Apps
Eseguire il commit e il push del nuovo file:
git add application.yml
git commit -m 'Add new Spring Boot configuration file'
git push
Creare un token personale GitHub
Azure Spring Apps può accedere ai repository Git pubblici, protetti tramite SSH o protetti tramite l'autenticazione HTTP di base. Verrà usata l'ultima opzione, perché è più semplice da creare e gestire con GitHub.
Seguire la guida di GitHub per creare un token personale e salvare il token. Quando viene richiesto di selezionare gli ambiti, selezionare tutte le opzioni della sezione "repo" e nient'altro.
Una volta generato il token, lasciare aperta la scheda fino alla fine di questa sezione.
Configurare Azure Spring Apps per accedere al repository Git
Passare al portale di Azure e cercare Azure Spring Apps.
Passare alla pagina di panoramica del server Azure Spring Apps e selezionare Config Server nel menu.
Configurare il repository creato in precedenza:
Aggiungere l'URL del repository, ad esempio
https://github.com/<YOUR_USERNAME>/azure-spring-cloud-config
ogit@github.com:<YOUR_USERNAME>/azure-spring-cloud-config.git
.Suggerimento
Assicurarsi di includere la terminazione
.git
nell'URL oppure usare l'URI completo.Aggiungere il ramo in
Label
. Il valore predefinito èmain
in GitHub, ma i repository meno recenti o i provider Git alternativi potrebbero usare ancoramaster
.Selezionare Autenticazione e selezionare HTTP di base.
username è il nome di accesso a GitHub.
password è il token personale creato nella sezione precedente.
Selezionare Convalida e attendere il completamento dell'operazione.
Selezionare Applica e attendere il completamento dell'operazione.
Revisione
È stato creato un repository di configurazione privato. È stato anche abilitato il servizio Azure Spring Apps per creare un server di configurazione con i file di configurazione di questo repository.