Integrati con una pipeline CI/CD

Questo articolo spiega come usare i dati di Configurazione app di Azure in un sistema di integrazione continua e distribuzione continua.

Usare Configurazione app nella pipeline di Azure DevOps

Se è presente una pipeline di Azure DevOps, è possibile recuperare le coppie chiave-valore da Configurazione app e impostarle come variabili di attività. L'estensione DevOps di Configurazione app di Azure è un modulo aggiuntivo che fornisce questa funzionalità. Ottenere questo modulo e fare riferimento a Esporta impostazioni da Configurazione app con Azure Pipelines per istruzioni su come usarlo in Azure Pipelines.

Distribuire i dati di Configurazione app con l'applicazione

L'applicazione potrebbe non essere eseguita se dipende da Configurazione app di Azure e non riesce ad accedervi. Migliorare la resilienza dell'applicazione generando un pacchetto di dati di configurazione in un file distribuito con l'applicazione e caricato localmente durante l'avvio dell'applicazione. Questo approccio garantisce che la tua applicazione abbia valori predefiniti all'avvio. Questi valori vengono sovrascritti da eventuali modifiche successive in un archivio di App Configuration, se disponibile.

Usando la funzione Esporta di Configurazione app di Azure è possibile automatizzare il processo di recupero dei dati della configurazione corrente come un singolo file. È quindi possibile includere questo file in una fase di compilazione o di distribuzione nella pipeline CI/CD (integrazione continua e distribuzione continua).

L'esempio seguente illustra come includere i dati di App Configuration come passaggio della compilazione per l'app Web presentata nelle guide introduttive. Prima di continuare, completare le procedure descritte in Creare un'app ASP.NET Core con Configurazione app.

Per completare i passaggi riportati in questa esercitazione, è possibile usare qualsiasi editor di codice. Visual Studio Code è un'ottima scelta per le piattaforme Windows, macOS e Linux.

Prerequisiti

Se costruisci localmente, scarica e installa la interfaccia della riga di comando di Azure se non l'hai già fatto.

Esportare un archivio di Configurazione app

  1. Aprire il file .csproj e aggiungere il seguente script:

    <Target Name="Export file" AfterTargets="Build">
        <Message Text="Export the configurations to a temp file. " />
        <Exec WorkingDirectory="$(MSBuildProjectDirectory)" Condition="$(ConnectionString) != ''" Command="az appconfig kv export -d file --path $(OutDir)\azureappconfig.json --format json --separator : --connection-string $(ConnectionString)" />
    </Target>
    
  2. Aprire il file Program.cs e aggiornare il metodo CreateWebHostBuilder per usare il file JSON esportato effettuando una chiamata al metodo config.AddJsonFile(). Aggiungi anche il namespace System.Reflection.

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .ConfigureAppConfiguration((hostingContext, config) =>
            {
                var directory = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
                var settings = config.Build();
    
                config.AddJsonFile(Path.Combine(directory, "azureappconfig.json"));
                config.AddAzureAppConfiguration(settings["ConnectionStrings:AppConfig"]);
            })
            .UseStartup<Startup>();
    

Compilare ed eseguire l'app in locale

  1. Imposta una variabile di ambiente denominata ConnectionString e assegnale la chiave di accesso del tuo archivio di App Configuration.

    Per compilare ed eseguire l'app in locale usando il prompt dei comandi di Windows, eseguire il comando seguente e riavviare il prompt per rendere effettiva la modifica:

        setx ConnectionString "<AppConfigurationConnectionString>"
    
  2. Per compilare l'app usando l'interfaccia della riga di comando di .NET, eseguire questo comando nella shell dei comandi:

     dotnet build
    
  3. Al termine della compilazione, eseguire questo comando per eseguire l'app Web in locale:

     dotnet run
    
  4. Aprire una finestra del browser e passare a http://localhost:5000, che è l'URL predefinito per l'app Web ospitata in locale.

    Screenshot che mostra la pagina di avvio rapido dell'app locale.

Passaggi successivi

In questa esercitazione, sono stati esportati i dati della Configurazione app di Azure da usare in una pipeline di distribuzione. Per altre informazioni su come usare App Configuration, consulta gli esempi di interfaccia della riga di comando di Azure.