다음을 통해 공유


Windows Virtual Machine에 앱 배포

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Pipelines를 사용하여 Windows Virtual Machine에서 실행되는 IIS 웹 서버에 ASP.NET, ASP.NET Core 또는 Node.js 웹앱을 빌드하고 배포하는 방법을 알아봅니다.

필수 조건

빌드 파이프라인

아직 빌드 파이프라인이 없는 경우 빌드 파이프라인을 설정합니다.

IIS 웹 서버 구성

아직 수행하지 않은 경우 IIS 서버 구성

관리자 권한 PowerShell 명령 프롬프트 창에서 다음 명령을 실행하여 IIS를 설치합니다.

Install-WindowsFeature Web-Server,Web-Asp-Net45,NET-Framework-Features

배포 그룹 만들기

배포 그룹을 사용하면 앱을 호스트하는 데 사용할 서버를 더 쉽게 구성할 수 있습니다. 배포 그룹은 각각에 Azure Pipelines 에이전트가 있는 컴퓨터의 컬렉션입니다. 각 컴퓨터는 Azure Pipelines와 상호 작용하여 앱 배포를 조정합니다.

  1. 파이프라인을 선택한 다음, 배포 그룹을 선택합니다.

  2. 배포 그룹 추가(또는 이미 배포 그룹이 있는 경우 새로 만들기)를 선택합니다.

  3. 그룹의 이름을 입력한 다음 만들기를 선택합니다.

  4. 컴퓨터 등록 섹션에서 드롭다운 메뉴에서 Windows선택되어 있는지 확인하고 스크립트에서 인증 검사 상자에 개인 액세스 토큰 사용도 선택되어 있는지 확인합니다. 완료되면 스크립트 복사를 클립보드로 선택합니다. 클립보드에 복사한 스크립트는 새 웹 배포 패키지를 수신하고 IIS에 적용할 수 있도록 VM에서 에이전트를 다운로드하고 구성합니다.

  5. VM에 로그인하고 관리자 권한 PowerShell 명령 프롬프트 창을 열고 스크립트를 실행합니다.

  6. 에이전트에 대한 태그를 구성하라는 메시지가 표시되면 Enter 키를 눌러 건너뜁니다. (태그는 선택 사항)

  7. 사용자 계정에 대한 메시지가 표시되면 Enter 키를 눌러 기본값을 적용합니다.

    참고 항목

    파이프라인을 실행하는 에이전트는 *C:\Windows\system32\inetsrv* 디렉터리에 액세스할 수 있어야 합니다. 자세한 내용은 보안 그룹, 서비스 계정 및 사용 권한을 참조하세요.

  8. 스크립트가 완료되면 서비스 vstsagent.account.computername이 성공적으로 시작되면 다음 메시지가 표시됩니다.

  9. 배포 그룹으로 이동한 다음 배포 그룹을 선택합니다. 대상 탭을 선택하고 VM이 나열되어 있는지 확인합니다.

릴리스 파이프라인 만들기

릴리스 파이프라인을 사용하여 IIS 서버에 빌드 아티팩트 배포할 수 있습니다.

  1. 파이프라인을 선택한 다음, 릴리스를 선택합니다. 새 파이프라인을 선택합니다.

  2. 검색 창을 사용하여 IIS 웹 사이트 배포 템플릿을 찾은 다음 적용을 선택합니다.

    IIS 웹 사이트 배포 템플릿을 추가하는 방법을 보여 주는 스크린샷

  3. 아티팩트 추가를 선택하여 빌드 아티팩트를 추가합니다.

  4. 빌드를 선택한 다음 프로젝트 및 원본(빌드 파이프라인)선택합니다. 완료되면 추가를 선택합니다.

  5. 아티팩트 섹션에서 연속 배포 트리거 아이콘을 선택합니다. 연속 배포 트리거사용하도록 설정하고 기본 분기를 필터로 추가합니다.

  6. 작업을 선택한 다음 IIS 배포를 선택합니다. 드롭다운 메뉴에서 이전에 만든 배포 그룹을 선택합니다.

    IIS 배포 그룹을 설정하는 방법을 보여 주는 스크린샷

  7. 완료하면 저장을 선택합니다.

앱 배포

  1. 파이프라인 릴리스를> 선택한 다음 릴리스 만들기를 선택합니다.

  2. 사용하려는 아티팩트 버전이 선택되어 있는지 확인한 다음 만들기를 선택합니다.

  3. 정보 표시줄 메시지에서 릴리스 링크를 선택합니다. 예: "릴리스 릴리스 -1 이 대기 중"입니다.

  4. 파이프라인 로그로 이동하여 로그 및 에이전트 출력을 확인합니다.