다음을 통해 공유


CI/CD 파이프라인과 통합

이 문서에서는 연속 통합 및 연속 배포 시스템에서 Azure App Configuration의 데이터를 사용하는 방법을 설명합니다.

Azure DevOps 파이프라인에서 App Configuration 앱 구성

Azure DevOps 파이프라인이 있는 경우 App Configuration에서 키-값을 가져오고 작업 변수로 설정할 수 있습니다. Azure App Configuration DevOps 확장은 이 기능을 제공하는 추가 기능 모듈입니다. 이 모듈가져오고 Azure Pipelines에서 사용할 지침은 Azure Pipelines 를 사용하여 App Configuration에서 설정 내보내기를 참조하세요.

애플리케이션과 함께 App Configuration 데이터 배포

애플리케이션이 Azure App Configuration에 의존하는데 연결할 수 없는 경우 실행되지 않을 수 있습니다. 애플리케이션 시작 시 로컬로 로드되고 애플리케이션과 함께 배포되는 파일에 구성 데이터를 패키징하여 애플리케이션의 복원력을 향상시킵니다. 이 방법을 사용하면 시작 시 애플리케이션의 기본값이 보장됩니다. App Configuration 저장소에 새로운 변경 내용이 있으면 해당 변경 내용이 이러한 값을 덮어씁니다.

Azure App Configuration의 Export 함수를 사용하면 현재 구성 데이터를 단일 파일로 검색하는 프로세스를 자동화할 수 있습니다. 그런 다음, 이 파일을 CI/CD(연속 통합 및 연속 배포) 파이프라인의 빌드 또는 배포 단계에 포함시킬 수 있습니다.

다음은 App Configuration 데이터를 빠른 시작에서 소개한 웹앱의 빌드 단계로 포함하는 방법을 보여주는 예제입니다. 계속 진행하기 전에 먼저 App Configuration을 사용하여 ASP.NET Core 앱 만들기를 완료합니다.

이 자습서의 단계는 임의의 코드 편집기를 사용하여 수행할 수 있습니다. Visual Studio Code는 Windows, macOS 및 Linux 플랫폼에서 사용할 수 있는 훌륭한 옵션입니다.

필수 조건

로컬로 빌드하는 경우 Azure CLI가 아직 없으면 Azure CLI를 다운로드하여 설치합니다.

App Configuration 저장소 내보내기

  1. .csproj 파일을 열고 다음 스크립트를 추가합니다.

    <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. Program.cs를 열고, config.AddJsonFile() 메서드를 호출하여 내보낸 JSON 파일을 사용하도록 CreateWebHostBuilder 메서드를 업데이트합니다. 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>();
    

로컬로 앱 빌드 및 실행

  1. ConnectionString이라는 환경 변수를 설정하고, App Configuration 스토리지에 대한 액세스 키로 설정합니다.

    Windows 명령 프롬프트를 사용하여 로컬에서 앱을 빌드하고 실행하는 경우 다음 명령을 실행하고, 명령 프롬프트를 다시 시작하여 변경 내용을 적용합니다.

        setx ConnectionString "connection-string-of-your-app-configuration-store"
    
  2. .NET CLI를 사용하여 앱을 빌드하려면 명령 셸에서 다음 명령을 실행합니다.

     dotnet build
    
  3. 빌드가 성공적으로 완료되면 다음 명령을 실행하여 웹앱을 로컬로 실행합니다.

     dotnet run
    
  4. 브라우저 창을 열고, 로컬로 호스트되는 웹앱의 기본 URL인 http://localhost:5000으로 이동합니다.

    빠른 시작 앱 시작 로컬 페이지를 보여주는 스크린샷.

다음 단계

이 자습서에서는 배포 파이프라인에서 사용할 Azure App Configuration 데이터를 내보냈습니다. App Configuration을 사용하는 방법에 대해 자세히 알아보려면 Azure CLI 샘플로 계속 진행하세요.