연습 - 배포 슬롯을 사용하여 웹앱 배포
두 슬롯을 교환할 준비가 되면, 교환되는 슬롯에 올바른 구성이 적용되었는지 확인합니다.
소셜 미디어 웹앱 버전 2의 테스트를 마쳤다고 가정합니다. 이제 해당 버전을 프로덕션에 배포하려고 합니다. 향후 버전의 앱을 자동으로 교환하여 배포를 더욱 간소화하려고 합니다.
여기서는 수동 및 자동으로 교환하는 방법을 알아봅니다.
슬롯 설정 구성
웹앱 버전 2를 배포하기 전에 슬롯 설정을 구성합니다. 여기서 구성하는 설정은 데모 앱에 적용되지 않습니다. 이 연습은 슬롯을 교환할 때 구성이 어떻게 작동하는지만 확인하기 위한 것입니다.
슬롯 설정을 구성하려면
Azure Portal의 모든 리소스 보기에서 웹앱 프로덕션 슬롯의 개요 페이지로 이동합니다.
배포 슬롯의 구성 창으로 이동합니다.
+ 새 애플리케이션 설정을 선택합니다. 이름이 ENVIRONMENT_NAME이고 값이 production인 새 설정을 추가합니다. 배포 슬롯 설정 상자를 선택하여 이 설정을 슬롯 설정으로 지정합니다. 확인을 선택합니다.
APP_VERSION이라는 다른 설정을 추가하고 값으로 1을 입력합니다. 이 설정을 슬롯 설정으로 지정하지 마세요. 확인을 선택합니다.
위쪽 메뉴 모음에서 저장을 선택한 다음, 계속을 선택합니다.
스테이징 슬롯에서 위의 단계를 반복하되 다음 값을 사용합니다.
이름 값 배포 슬롯 설정 ENVIRONMENT_NAME staging 예 APP_VERSION 2 아니요
슬롯 전환
스테이징 슬롯에 있는 웹앱 버전 2를 테스트했으므로, 이제 슬롯을 교환하여 웹앱을 배포할 수 있습니다. 다음 단계를 수행합니다.
프로덕션 슬롯을 구성 중인지 확인하려면 모든 리소스를 선택하고 프로덕션 슬롯 웹앱을 선택합니다.
왼쪽 메뉴 창의 배포아래에서 배포 슬롯>교환을 선택합니다.
스테이징 및 프로덕션 슬롯을 교환하려 하는지 확인합니다. 교환이 설정에 어떤 영향을 주는지 확인합니다. APP_VERSION 설정의 값은 슬롯 간에 교환되지만, ENVIRONMENT 슬롯 설정의 값은 교환되지 않습니다. 교환을 선택합니다.
교환이 완료되면 프로덕션 슬롯 웹앱의 개요 페이지로 이동하여 찾아보기를 선택합니다. 웹앱이 새 브라우저 탭에 나타납니다. 이제 웹앱 버전 2가 프로덕션 환경에 있습니다.
브라우저 탭을 닫습니다.
스테이징 슬롯에 대해 자동 교환 구성
배포 슬롯을 사용 중이므로 지속적인 배포를 사용하도록 설정하려 한다고 가정합니다. 웹앱의 자동 교환 기능을 사용하여 이렇게 할 것입니다. 자동 교환을 사용하는 시스템에서는 새 코드를 스테이징 슬롯에 배포할 때 Azure에서 자동으로 해당 코드를 준비하고 스테이징 슬롯과 프로덕션 슬롯을 교환하여 프로덕션에 배포합니다. 자동 전환을 구성하려면 다음 단계를 수행합니다.
스테이징 슬롯 웹앱의 구성 창으로 이동한 후 일반 설정 탭으로 이동합니다.
자동 전환 사용을 켜기로 설정합니다.
자동 전환 배포 슬롯 목록에서 프로덕션을 선택한 후 저장 및 계속을 선택합니다.
새 코드를 배포하고 프로덕션으로 자동 교환
이제 코드를 수정하여 웹앱 버전 3을 만듭니다. 스테이징 슬롯에 배포할 때 자동 교환의 기능을 확인할 수 있습니다. 다음 단계를 수행합니다.
Cloud Shell의 오른쪽에서 아직 실행되지 않는 경우 편집기를 다시 시작합니다.
cd ~/demoapp/app-service-web-dotnet-get-started/ code .
코드 편집기 왼쪽의 파일 목록에서 aspnet-get-started>보기>홈을 확장한 후 Index.cshtml을 선택합니다.
다음 코드를 찾습니다.
<h1>Web App Version 2</h1>
해당 코드를 다음 코드로 바꿉니다.
<h1>Web App Version 3</h1>
변경 내용을 저장하려면 Ctrl+S를 누릅니다.
Cloud Shell에서 다음 명령을 실행합니다. 메시지가 표시되면 배포 암호를 입력합니다.
git add . git commit -m "Third version of web app." git push staging
배포가 완료될 때까지 기다립니다. 배포에서 프로덕션 슬롯으로 자동 전환을 요청했음을 나타내는 메시지가 텍스트 출력의 끝에 표시됩니다.
Azure Portal에서 프로덕션 슬롯 웹앱의 개요 페이지로 이동하여 찾아보기를 선택합니다. 세 번째 버전의 웹앱이 새로운 브라우저 탭에 나타납니다. 이전 버전이 표시되는 경우 잠시 기다린 후 페이지를 새로 고침해야 할 수 있습니다. 바꾸기 작업은 원자성이며 즉시 발생하지만, App Service에서 실행 전에 바꾸기 작업을 준비할 시간이 필요합니다.
새 버전 롤백
앱 버전 3을 프로덕션에 배포할 때 예기치 않은 문제가 발생했다고 가정합니다. 이 문제를 신속하게 해결하기 위해 슬롯을 다시 교환하여 이전 버전의 사이트로 롤백할 수 있습니다.
프로덕션 슬롯 웹앱의 배포 슬롯 창으로 이동합니다.
스테이징 및 프로덕션 슬롯을 교환합니다.
교환이 완료되면 개요 페이지에서 찾아보기를 선택하여 마지막으로 앱을 봅니다. 버전 2가 프로덕션에 다시 배포된 것을 확인할 수 있습니다.