배포 슬롯 교환

완료됨

앱의 배포 슬롯 페이지 및 개요 페이지에서 배포 슬롯을 교환할 수 있습니다. 배포 슬롯에서 프로덕션으로 앱을 교환하기 전에 프로덕션이 대상 슬롯인지 확인하고 원본 슬롯의 모든 설정이 프로덕션 환경에서 원하는 대로 정확하게 구성되었는지 확인합니다.

수동으로 배포 슬롯 교환

배포 슬롯을 교환하려면 다음을 수행합니다.

  1. 앱의 배포 슬롯 페이지로 이동하여 교환을 선택합니다. 교환 대화 상자에는 변경할 선택한 원본 및 대상 슬롯의 설정이 표시됩니다.

  2. 원하는 원본대상 슬롯을 선택합니다. 일반적으로 대상은 프로덕션 슬롯입니다. 또한 원본 변경대상 변경 탭을 선택하고 구성 변경이 예상대로 수행되었는지 확인합니다. 완료되면 교환을 선택하여 슬롯을 즉시 교환할 수 있습니다.

    교환이 실제로 수행되기 전에 대상 슬롯이 새 설정으로 어떻게 실행되는지 확인하려면 교환을 선택하지 말고 아래의 미리 보기가 있는 교환의 지침을 따르세요.

  3. 완료되면 닫기를 선택하여 대화 상자를 닫습니다.

미리 보기가 있는 교환(다단계 교환)

프로덕션에 대상 슬롯으로 교환하기 전에 교환된 설정을 사용한 앱 실행이 유효한지 확인합니다. 원본 슬롯도 교환 완료 전에 준비됩니다. 이 작업은 업무용 애플리케이션에 유용합니다.

미리 보기를 사용하여 교환을 수행하는 경우 App Service는 동일한 교환 작업을 수행하지만 첫 번째 단계 후에는 일시 중지됩니다. 그런 다음 교환을 완료하기 전에 스테이징 슬롯에 대한 결과를 확인할 수 있습니다.

교환을 취소한 경우 App Service는 구성 요소를 원본 슬롯에 다시 적용합니다.

미리 보기를 사용하여 교환하려면 다음을 수행합니다.

  1. 위의 배포 슬롯 교환 단계를 따르되 미리 보기로 교환 수행 확인란을 선택합니다. 이 대화 상자에는 1단계에서 원본 슬롯의 구성이 변경되는 방식과 2단계에서 원본 및 대상 슬롯이 변경되는 방식이 표시됩니다.

  2. 교환을 시작할 준비가 되면 교환 시작을 선택합니다.

    1단계가 완료되면 대화 상자에서 알림이 표시됩니다. https://<app_name>-<source-slot-name>.azurewebsites.net으로 이동하여 원본 슬롯의 교환을 미리 봅니다.

  3. 보류 중인 교환을 완료할 준비가 되면 교환 작업에서 교환 완료를 선택하고 교환 완료를 선택합니다.

    보류 중인 교환을 취소하려면 대신 교환 취소를 선택합니다.

  4. 완료되면 닫기를 선택하여 대화 상자를 닫습니다.

자동 전환 구성

자동 교환은 앱의 사용자를 위해 중단 시간 및 콜드 부팅이 발생하지 않는 앱을 지속적으로 배포하려는 Azure DevOps Services 시나리오를 간소화합니다. 슬롯에서 프로덕션으로 자동 교환되면 코드 변경 내용을 해당 슬롯으로 푸시할 때마다 App Service는 원본 슬롯에서 준비가 끝난 후에 앱을 프로덕션으로 자동 교환합니다.

참고

현재 자동 교환은 Linux의 웹앱 및 Web App for Containers에서 지원되지 않습니다.

자동 교환을 구성하려면 다음을 수행합니다.

  1. 앱의 리소스 페이지로 이동하고 자동 교환하도록 구성하려는 배포 슬롯을 선택합니다. 이 설정은 구성 > 일반 설정 페이지에 있습니다.

  2. 자동 전환 사용켜기로 설정합니다. 그런 다음 배포 슬롯 자동 교환에 대해 원하는 대상 슬롯을 선택하고 명령 모음에서 저장을 선택합니다.

  3. 소스 슬롯에 대해 코드 푸시를 실행합니다. 자동 교환은 짧은 시간 후에 발생하며 업데이트는 대상 슬롯의 URL에 반영됩니다.

사용자 지정 준비 지정

교환 전에 일부 앱에서 사용자 지정 준비 작업이 필요할 수 있습니다. web.config의 applicationInitialization 구성 요소를 사용하면 사용자 지정 초기화 작업을 지정할 수 있습니다. 교환 작업은 대상 슬롯과 교환하기 전에 이 사용자 지정 준비가 완료될 때까지 대기합니다. 샘플 web.config 조각은 다음과 같습니다.

<system.webServer>
    <applicationInitialization>
        <add initializationPage="/" hostName="[app hostname]" />
        <add initializationPage="/Home/About" hostName="[app hostname]" />
    </applicationInitialization>
</system.webServer>

applicationInitialization 요소를 사용자 지정하는 방법에 대한 자세한 내용은 가장 일반적인 배포 슬롯 교환 실패 및 수정 방법을 참조하세요.

또한 다음 앱 설정 중 하나 또는 둘 다 사용하여 준비 동작을 사용자 지정할 수 있습니다.

  • WEBSITE_SWAP_WARMUP_PING_PATH: 사이트 준비를 ping을 실행할 경로입니다. 슬래시로 시작하는 사용자 지정 경로를 값으로 지정하여 이 앱 설정을 추가합니다. 예제는 /statuscheck입니다. 기본값은 /입니다.
  • WEBSITE_SWAP_WARMUP_PING_STATUSES: 준비 작업에 대한 유효한 HTTP 응답 코드입니다. HTTP 코드의 쉼표로 구분된 목록을 사용하여 이 앱 설정을 추가합니다. 예제는 200,202입니다. 반환된 상태 코드가 목록에 없는 경우 준비 및 교환 작업이 중지됩니다. 기본적으로 모든 응답 코드는 유효합니다.
  • WEBSITE_WARMUP_PATH: 슬롯 교환 시뿐만 아니라 사이트를 다시 시작할 때마다 ping을 실행해야 하는 사이트의 상대 경로입니다. 예제 값에는 /statuscheck 또는 루트 경로 /가 포함됩니다.

교환 롤백 및 모니터링

슬롯 교환 후 대상 슬롯(예: 프로덕션 슬롯)에서 오류가 발생하면 2개의 동일한 슬롯을 즉시 교환하여 슬롯을 교환 전 상태로 복원합니다.

교환 작업을 완료하는 데 오래 걸리는 경우 활동 로그에서 교환 작업에 대한 정보를 가져올 수 있습니다.

  1. 포털의 앱 리소스 페이지에서 왼쪽 창의 활동 로그를 선택합니다.

  2. 교환 작업은 Swap Web App Slots으로 로그 쿼리에 표시됩니다. 이를 확장하고 하위 작업 또는 오류 중 하나를 선택하여 세부 정보를 볼 수 있습니다.