Integreren met een CI/CD-pijplijn

In dit artikel wordt uitgelegd hoe u gegevens uit Azure App Configuration kunt gebruiken in een implementatiesysteem voor continue integratie en levering.

App Configuration gebruiken in uw Azure DevOps Pipeline

Als u beschikt over een Azure DevOps Pipeline, kunt u sleutel-waarden ophalen uit App Configuration, en deze instellen als taakvariabelen. De Azure App Configuration DevOps-extensie is een invoegtoepassingsmodule die deze functionaliteit biedt. Volg de bijbehorende instructies voor het gebruik van de extensie in een build- of releasetaakreeks.

App Configuration-gegevens implementeren met uw toepassing

Uw toepassing kan niet worden uitgevoerd als deze afhankelijk is van Azure-app Configuratie en deze niet kan bereiken. Verbeter de tolerantie van de toepassing door configuratiegegevens te verpakken in een bestand dat met de toepassing wordt geïmplementeerd, en dat lokaal wordt geladen tijdens het opstarten van de toepassing. Deze benadering garandeert dat uw toepassing een standaardinstellingswaarden heeft bij het opstarten. Deze waarden worden overschreven door nieuwere wijzigingen in een App Configuration-archief wanneer deze beschikbaar zijn.

Met de functie Exporteren van Azure App Configuration kunt u het ophalen van de huidige configuratiegegevens als één bestand automatiseren. U kunt dit bestand insluiten in een build- of implementatiestap in de CI/CD-pijplijn (continue integratie en continue implementatie).

In het volgende voorbeeld ziet u hoe u App Configuration-gegevens kunt opnemen als stap voor het bouwen van de web-app die is geïntroduceerd in de quickstarts. Volg eerst Een ASP.NET Core-app maken met App Configuration voordat u verder gaat.

U kunt elke code-editor gebruiken om de stappen in deze zelfstudie uit te voeren. Visual Studio Code is een uitstekende optie die beschikbaar is op de Windows-, macOS- en Linux-platforms.

Vereisten

Als u lokaal bouwt, downloadt en installeert u de Azure CLI als u dit nog niet hebt gedaan.

Een App Configuration-archief exporteren

  1. Open het .csproj-bestand, en voeg het volgende script toe:

    <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. Open Program.cs en werk de methode CreateWebHostBuilder bij voor het gebruik van App Configuration door de methode config.AddJsonFile() aan te roepen. Voeg ook de naamruimte System.Reflection toe.

    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>();
    

De app lokaal bouwen en uitvoeren

  1. Stel een omgevingsvariabele met de naam ConnectionString in en stel deze in op de toegangssleutel van het App Configuration-archief.

    Als u de app lokaal wilt bouwen en uitvoeren met behulp van de Windows-opdrachtprompt, voert u de volgende opdracht uit en start u de opdrachtprompt opnieuw om de wijziging van kracht te laten worden:

        setx ConnectionString "connection-string-of-your-app-configuration-store"
    
  2. Als u de app wilt bouwen met behulp van de .NET CLI, voert u de volgende opdracht uit in de opdrachtshell:

     dotnet build
    
  3. Nadat het compileren is voltooid, gebruikt u de volgende opdracht om de web-app lokaal uit te voeren:

     dotnet run
    
  4. Open een browservenster en ga naar http://localhost:5000. Dit is de standaard-URL voor de web-app die lokaal wordt gehost.

    Screenshot that shows Quickstart app launch local page.

Volgende stappen

In deze zelfstudie hebt u Azure App Configuration-gegevens geëxporteerd die moeten worden gebruikt in een implementatiepijplijn. Voor meer informatie over het gebruik van App Configuration gaat u verder naar de Azure CLI-voorbeelden.