Visual Studio를 사용하여 Azure에 ASP.NET Core 앱 게시

Important

Azure App Service를 포함한 ASP.NET Core 미리 보기 릴리스

ASP.NET Core 미리 보기 릴리스는 기본적으로 Azure App Service에 배포되지 않습니다. ASP.NET Core 미리 보기 릴리스를 사용하는 앱을 호스팅하려면 Azure App Service에 ASP.NET Core 미리 보기 릴리스 배포를 참조하세요.

App Service 배포 문제를 해결하려면 Azure App Service 및 IIS에서 ASP.NET Core 문제 해결을 참조하세요.

설정

계정이 없는 경우 체험 Azure 계정을 엽니다.

웹앱 만들기

Visual Studio 2022를 시작하고 새 프로젝트 만들기를 선택합니다.

Create a new project from the start window

새 프로젝트 만들기 대화 상자에서 ASP.NET Core 웹앱을 선택한 후, 다음을 선택합니다.

Create an ASP.NET Core Web App

새 프로젝트 구성 대화 상자에서 프로젝트 이름을 지정하고 다음을 선택합니다.

추가 정보 대화 상자에서 다음을 수행합니다.

  • 프레임워크 입력에서 .NET 7.0(표준 용어 지원)을 선택합니다.
  • 인증 유형 입력에서 개별 계정을 선택한 다음 만들기를 선택합니다.

Additional information

Visual Studio는 솔루션을 만듭니다.

앱 실행

  • F5 키를 눌러 프로젝트를 실행합니다.

Web application open in Microsoft Edge on localhost

사용자 등록

  • 등록을 선택하고 새 사용자를 등록합니다. 가상의 전자 메일 주소를 사용할 수 있습니다. 제출하면 페이지에 다음과 같은 오류가 표시됩니다.

    "요청을 처리하는 동안 데이터베이스 작업이 실패했습니다. 기존 마이그레이션을 적용하면 이 문제가 해결될 수 있습니다."

  • 마이그레이션 적용을 선택한 다음 페이지가 업데이트되면 페이지를 새로 고칩니다.

A database operation failed while processing the request

  • 등록 확인 페이지가 표시됩니다. 여기를 클릭하여 계정을 확인합니다.
  • 전자 메일 확인 페이지가 표시됩니다.
  • 새 사용자로 로그인합니다.

앱은 새 사용자를 등록하는 데 사용한 이메일 및 로그아웃 링크를 표시합니다.

Web application open in Microsoft Edge. The Register link is replaced by the text Hello user@example.com!

  • 브라우저를 닫거나 Visual Studio에서 디버그>디버깅 중지를 선택하여 애플리케이션을 중지합니다.
  • Visual Studio에서 클린 솔루션 빌드>를 선택하여 프로젝트 항목을 클린 파일 경합을 방지합니다.

Azure에 앱 배포

솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 게시를 선택합니다.

Contextual menu open with Publish link highlighted

게시 대화 상자에서:

  • Azure를 선택합니다.
  • 다음을 선택합니다.

Publish dialog

게시 대화 상자에서:

  • Azure App Service(Windows)를 선택합니다.
  • 다음을 선택합니다.

Publish Dialog: select Azure Service

게시 대화 상자의 App Service 탭에서 새로 만들기를 선택합니다.

Publish dialog: select Azure Service instance

App Service 만들기 대화 상자가 나타납니다.

  • 이름, 리소스 그룹호스팅 계획 항목 필드가 채워집니다. 이러한 이름을 유지하거나 변경할 수 있습니다.
  • 만들기를 실행합니다.

Create App Service dialog

만들기가 완료되면 대화 상자가 자동으로 닫히고 게시 대화 상자가 다시 포커스를 받습니다.

  • 방금 만든 새 인스턴스가 자동으로 선택됩니다.
  • 마침을 선택합니다.

Publish dialog: select App Service instance

프로필 게시 만들기 진행률 대화 상자에서 게시 프로필이 만들어졌는 것을 확인합니다. 닫기를 선택합니다.

다음으로 게시 프로필 요약 페이지가 표시됩니다. Visual Studio에서 이 애플리케이션에 서비스 종속성 창에 나열된 SQL Server 데이터베이스가 필요하다는 것을 발견했습니다. 줄임표(...)를 선택한 다음, 커넥트.

Publish Profile summary page: configure SQL Server dependency

종속성에 대한 커넥트 대화 상자가 나타납니다.

  • Azure SQL Database를 선택합니다.
  • 다음을 선택합니다.

Configure SQL Server Dependency dialog

Azure SQL 데이터베이스 커넥트 대화 상자에서 새로 만들기를 선택합니다.

Select Create a SQL DB

Azure SQL 데이터베이스 만들기가 표시됩니다.

  • 데이터베이스 이름, 리소스 그룹, 데이터베이스 서버App Service 계획 항목 필드가 채워집니다. 채워진 값을 유지하거나 변경할 수 있습니다.
  • 선택한 데이터베이스 서버에 대한 데이터베이스 관리자 사용자 이름데이터베이스 관리자 암호를 입력합니다. 사용하는 계정에 새 Azure SQL 데이터베이스를 만드는 데 필요한 권한이 있어야 합니다.
  • 만들기를 실행합니다.

New Azure SQL Database dialog

만들기가 완료되면 대화 상자가 자동으로 닫히고 Azure SQL Database에 대한 커넥트 다시 포커스가 지정됩니다.

  • 방금 만든 새 인스턴스가 자동으로 선택됩니다.
  • 다음을 선택합니다.

Select Next

Azure SQL Database로 커넥트 대화 상자의 다음 단계에서 다음을 수행합니다.

  • 데이터베이스 연결 사용자 이름데이터베이스 연결 암호 필드를 입력합니다. 이들은 애플리케이션이 런타임 시 데이터베이스에 연결하는 데 사용하는 세부 정보입니다. 모범 사례는 이전 단계에서 사용된 관리자 사용자 이름 및 암호와 동일한 세부 정보를 사용하지 않는 것입니다.
  • 마침을 선택합니다.

Configure Azure SQL Database dialog, connection string details

종속성 구성 진행률 대화 상자는 Azure SQL Database가 구성되어 있는지 확인합니다. 닫기를 선택합니다.

프로필 게시 요약 페이지에서 추가 작업>편집을 선택합니다.

Publish profile summary page: edit settings

게시 대화 상자의 설정 탭에서 다음을 수행합니다.

  • 데이터베이스를 확장하고 런타임 시 이 연결 문자열 사용을 선택합니다.

  • Entity Framework 마이그레이션을 확장하고 게시 시 이 마이그레이션 적용을 선택합니다.

  • 저장을 선택합니다. Visual Studio가 게시 대화 상자로 돌아갑니다.

Publish dialog: Settings panel:Save

게시를 클릭합니다. Visual Studio는 Azure에 앱을 게시합니다. 배포가 완료되면

Last step

앱이 브라우저에서 열립니다. 새 사용자를 등록하고 새 사용자로 로그인하여 데이터베이스 배포 및 런타임 연결의 유효성을 검사합니다.

앱 업데이트

  • Pages/Index.cshtmlRazor 페이지를 편집하고 내용을 변경한 다음 변경 내용을 저장합니다. 예를 들어 단락을 수정하여 “Hello ASP.NET Core!” 문구를 표시할 수 있습니다.

    @page
    @model IndexModel
    @{
        ViewData["Title"] = "Home page";
    }
    
    <div class="text-center">
        <h1 class="display-4">Welcome</h1>
        <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
        <p>Hello ASP.NET Core!</p>
    </div>
    
  • 게시 프로필 요약 페이지에서 다시 게시를 선택합니다.

Publish profile summary page

  • 앱이 게시되면 페이지를 새로 고치고 변경한 내용을 Azure에서 사용할 수 있는지 확인합니다.

Verify task is complete

정리

앱 테스트를 완료하면 Azure Portal로 이동하고 앱을 삭제합니다.

  • 리소스 그룹을 선택한 다음 만든 리소스 그룹을 선택합니다.

Azure Portal: Resource Groups in sidebar menu

  • 리소스 그룹 페이지에서 리소스 그룹 삭제를 선택합니다.

Azure Portal: Resource Groups page

  • 리소스 그룹의 이름을 입력하고 삭제를 선택합니다. 이 자습서에서 만든 앱과 다른 모든 리소스는 이제 Azure에서 삭제됩니다.

추가 리소스