컨테이너로 ASP.NET Core 앱 배포

Azure DevOps Services

Azure Pipelines ASP.NET Core 앱에 대해 고도로 사용자 지정 가능한 CI(연속 통합) 및 CD(지속적인 배포) 파이프라인을 제공합니다. 이 빠른 시작에서는 Docker 및 Azure Container Registry 사용하여 사용자 지정 컨테이너를 Azure App Service ASP.NET Core 애플리케이션을 배포하도록 CI 및 CD를 설정하는 방법을 보여 줍니다.

A typical release pipeline for web applications

CI/CD 프로세스가 준비되면 팀의 git 리포지토리에 변경 내용을 푸시하고 결과가 사이트에 자동으로 표시됩니다.

Screenshot showing ASP.NET Core web app

필수 구성 요소

  • Azure DevOps 조직이 필요합니다. 계정이 없는 경우 체험 계정을 만들 수 있습니다. 팀에 이미 있는 경우 사용하려는 Azure DevOps 프로젝트의 관리자인지 확인합니다. (Azure DevOps 조직은 GitHub 조직과 다릅니다. 둘 사이에 맞춤을 원하는 경우 동일한 이름을 지정합니다.)
  • Visual Studio 2017
  • Visual Studio 지속적인 업데이트 도구

Azure Container Registry 만들기

Azure Container Registry 사용하여 CI 파이프라인에서 게시한 Docker 이미지를 호스트할 수 있습니다. 아래 단계에 따라 레지스트리를 만들고 구성합니다. 이후 단계에서는 Azure Pipelines 사용하여 Azure Web App for Containers에 이미지를 배포합니다.

  1. 에서 https://portal.azure.comAzure에 로그인합니다.

  2. Azure Portal에서 새로 만들기, 컨테이너를 선택한 다음, Azure Container Registry 선택합니다.

  3. 레지스트리 이름, 리소스 그룹을 입력하고 위치를 선택합니다.

    Container Registry settings

  4. 관리자 사용자의 경우 사용을 선택한 다음 만들기를 선택합니다.

  5. Azure Container Registry 배포가 완료되기를 기다립니다.

샘플 앱의 코드를 Azure Repos 가져옵니다.

Azure Repos 팀의 소스 코드를 호스트하기 위한 모든 기능을 갖춘 Git 서버입니다. 샘플 ASP.NET Core 앱에 대한 코드를 Azure Repos Git 리포지토리로 가져옵니다. CI/CD를 구성할 앱입니다.

  1. Azure Repos Azure DevOps 프로젝트의 코드 페이지에서 리포지토리 가져오기 옵션을 선택합니다.

    import repository menu item

  2. Git 리포지토리 가져오기 대화 상자에서 다음 URL을 복제 URL 텍스트 상자에 붙여넣습니다.

    https://github.com/MicrosoftDocs/pipelines-dotnet-core
    
  3. 가져오기를 클릭하여 샘플 코드를 Git 리포지토리에 복사합니다.

솔루션 복제

다음 단계를 사용하여 샘플 솔루션을 복제하고 Visual Studio 2017에서 엽니다. 이를 통해 로컬 개발 환경에서 솔루션을 사용할 수 있습니다. 향후 단계에서는 Visual Studio 2017을 사용하여 웹앱에 대한 지속적인 통합 및 지속적인 업데이트를 구성합니다.

  1. 코드 가져오기가 성공적으로 완료되었는지 확인합니다. 브라우저의 오른쪽 위 모서리에서 복제를 선택합니다. Visual Studio 복제를 선택합니다.

    Clone from browser
    Clone in Visual Studio

  2. Visual Studio 2017이 시작되고 자격 증명을 묻는 메시지가 표시됩니다.

  3. 인증한 후 디렉터리를 선택하고 복제 를 선택하여 로컬 환경에 코드 복제를 완료합니다.

Visual Studio 2017용 CD(지속적인 업데이트) 도구 설치

Visual Studio 위한 CD(지속적인 업데이트) 도구는 Azure 릴리스 파이프라인에 대한 Azure Pipelines 만들기를 자동화하는 데 도움이 됩니다. 필요에 따라 생성된 파이프라인을 확장하여 CI/CD 워크플로를 더욱 향상시킬 수 있습니다.

  1. Visual Studio 2017에서 도구를 선택한 다음, 확장 및 업데이트를 선택합니다.

  2. 대화 상자에서 온라인을 선택하고 Visual Studio 지속적인 업데이트 도구를 검색합니다.

  3. 다운로드를 선택하고 Visual Studio 닫히면 설치 프로세스를 완료합니다.

  4. Visual Studio 다시 시작하고 솔루션을 엽니다.

  5. 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 선택하고 지속적인 업데이트 구성 아이콘이 표시되는지 확인합니다.

    Configure CD icon

앱에 대한 CD(지속적인 업데이트) 구성 및 실행

Visual Studio 2017에서는 CI/CD 파이프라인 만들기를 자동화할 수 있습니다. CD 도구는 Azure 및 Azure Pipelines 다양한 서비스를 빠르게 만듭니다. 이 자동화를 사용하면 Azure Pipelines 전체 빌드 및 릴리스 파이프라인을 만들어 앱에 대해 AZURE에 CI/CD를 사용하도록 설정할 수 있습니다.

  1. Visual Studio 솔루션을 선택하고지속적인 업데이트 구성을 선택합니다.

    Configure CD from Visual Studio

  2. 호스트 유형으로 App Service(Linux)를 선택합니다.

  3. 이전에 만든 Container Registry 를 선택합니다.

  4. 기본 App Service 이름을 적용하거나 편집을 선택하여 새 이름을 선택합니다.

  5. 확인을 선택하고 출력 창에서 결과를 모니터링합니다.

  6. App Service 포함한 Azure 리소스가 만들어집니다. 빌드 파이프라인과 같은 Azure Pipelines 리소스 및 릴리스 파이프라인은 소스 코드를 포함하는 동일한 프로젝트에 만들어집니다. Visual Studio 출력 창에서 구성 진행률을 모니터링할 수 있습니다.

    Visual Studio output window

  7. 그러면 빌드릴리스 가 실행됩니다. 조직으로 이동하여 빌드 및 릴리스가 완료될 때까지 모니터링합니다. 이 작업은 몇 분 정도 걸릴 수 있습니다.

  8. 배포가 완료되면 변경 내용이 웹 브라우저(http://your-app-name.azurewebsites.net)에 있는지 확인합니다.

  9. 웹앱 코드를 변경하고 Azure Pipelines 푸시합니다. 새 빌드 및 릴리스가 변경 내용을 실행하고 배포합니다.

이제 Azure App Service 최신 작업을 자동으로 배포하는 CI/CD 파이프라인을 사용하여 ASP.NET Core 앱에서 팀과 협업할 준비가 되었습니다.

다음 단계

사용자 고유의 CI/CD 프로세스를 구현했습니다. 팀의 요구를 충족하려면 이러한 빌드 및 릴리스 파이프라인을 수정할 수 있습니다. 자세한 내용은 이 자습서를 참조하세요.