본문 바로가기

Azure

Team Service를 이용한 Azure Virtual Machine 소스 배포

https://docs.microsoft.com/en-us/vsts/build-release/apps/cd/deploy-webdeploy-iis-deploygroups


Windows 가상 컴퓨터에 배포

09/26/2017 읽기 4 분

VSTS

VSTS (Visual Studio Team Services)를 사용하여 Windows에서 실행되는 IIS 웹 서버에 ASP.NET 또는 노드 응용 프로그램을 연속적으로 배포하는 방법을 보여줍니다. 연속 통합 프로세스가 웹 배포 패키지를 게시하는 한이 빠른 시작의 단계를 사용할 수 있습니다.

예를 들어, Azure에서 호스팅되는 컨테이너에 앱을 계속 전달할 수 있습니다.


코드 변경을 커밋하고 푸시하면 자동으로 빌드 된 다음 코드가 배포됩니다. 결과가 자동으로 사이트에 표시됩니다.

CI 빌드 프로세스 정의

웹 배포 패키지를 게시하는 CI (Continuous Integration) 빌드 프로세스가 필요합니다. CI 빌드 프로세스를 설정하려면 다음을 참조하십시오.

ASP.NET 4 앱 제작

ASP.NET 핵심 앱 구축

Gulp로 노드 애플리케이션 구축

선결 요건

IIS 구성


구성은 배포하려는 앱의 유형에 따라 다릅니다.

ASP.NET 앱

VM에서 관리자 : Windows PowerShell 콘솔을 엽니 다 . IIS 설치 :

PowerShell


# Install IIS

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

ASP.NET 핵심 앱

Windows에서 ASP.NET 핵심 응용 프로그램을 실행하려면 몇 가지 종속성이 필요합니다.

VM에서 관리자 : Windows PowerShell 콘솔을 엽니 다 . IIS 및 필요한 .NET 기능을 설치하십시오.

PowerShell


# Install IIS

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


# Install the .NET Core SDK

Invoke-WebRequest https://go.microsoft.com/fwlink/?linkid=848827 -outfile $env:temp\dotnet-dev-win-x64.1.0.4.exe

Start-Process $env:temp\dotnet-dev-win-x64.1.0.4.exe -ArgumentList '/quiet' -Wait


# Install the .NET Core Windows Server Hosting bundle

Invoke-WebRequest https://go.microsoft.com/fwlink/?LinkId=817246 -outfile $env:temp\DotNetCore.WindowsHosting.exe

Start-Process $env:temp\DotNetCore.WindowsHosting.exe -ArgumentList '/quiet' -Wait


# Restart the web server so that system PATH updates take effect

net stop was /y

net start w3svc

때 net start w3svc표시를 눌러 입력 을 실행합니다.

노드 앱

이 항목 의 지침에 따라 IIS 서버에 IIS 노드를 설치하고 구성하십시오.

배포 그룹 만들기

VSTS의 배포 그룹을 사용하면 응용 프로그램을 호스팅하는 데 사용할 서버를보다 쉽게 구성 할 수 있습니다. 배포 그룹은 각각에 VSTS 에이전트가있는 컴퓨터 모음입니다. 각 컴퓨터는 VSTS와 상호 작용하여 앱 배포를 조정합니다.

VSTS 웹 포털 ( https://{your-account}.visualstudio.com)을 열고 빌드 및 릴리스 허브로 이동 한 다음 배포 그룹 을 클릭 합니다 .

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

그룹 이름 (예 : myIIS )을 입력 한 다음 만들기 를 클릭 합니다.

에서 등록 기계 섹션 있는지 확인 윈도우 를 선택하고, 그 인증을 위해 스크립트에서 개인 액세스 토큰을 사용하여 도 선택됩니다. 클립 보드로 스크립트 복사를 클릭하십시오 .


클립 보드에 복사 한 스크립트는 새 웹 배포 패키지를 받아이를 IIS에 적용 할 수 있도록 VM에서 에이전트를 다운로드 및 구성합니다.

VM에서 관리자 PowerShell 콘솔에서 스크립트를 붙여넣고 실행합니다.

에이전트의 태그를 구성하라는 메시지가 표시되면 Enter 키를 누릅니다 (태그가 필요 없음).

사용자 계정을 묻는 메시지가 표시되면 Enter 키를 눌러 기본값을 그대로 사용합니다.

에이전트를 실행하는 계정 에는 C : \ Windows \ system32 \ inetsrv \ 디렉터리에 대한 사용 권한을 관리 해야합니다 . 관리자가 아닌 사용자를이 디렉토리에 추가하는 것은 권장되지 않습니다. 또한 응용 프로그램 풀에 대한 사용자 지정 사용자 ID가있는 경우 ID에 암호화 키를 읽을 수있는 권한이 있어야합니다. 로컬 서비스 계정 및 사용자 계정에 읽기 액세스 권한이 부여되어야합니다. 자세한 내용은 키 집합 존재하지 않음 오류 메시지를 참조하십시오 .

스크립트가 완료되면 Service vstsagent.account.computername started successfully 메시지가 표시됩니다 .

VSTS 의 빌드 및 릴리스 허브 의 배포 그룹 페이지 에서 myIIS 배포 그룹을 엽니 다 . 온 기계 탭, 당신의 VM이 나열되어 있는지 확인합니다.


CD 릴리스 프로세스 정의

CD 릴리스 프로세스는 CI 빌드에서 게시 한 아티팩트를 가져온 다음 IIS 서버에 배포합니다.

다음 중 하나를 수행하십시오.

CI 빌드를 완료했다면 배포 의 요약 탭에서 배포 생성을 선택한 다음 예를 선택합니다 . 그러면 빌드 정의에 자동으로 링크되는 새 릴리스 정의가 시작됩니다.


빌드 및 릴리스 허브 의 릴리스 탭을 열고 릴리스 정의 목록에서 + 드롭 다운을 열고 릴리스 정의 작성을 선택 하십시오 .


에서 생성 릴리스 정의 마법사를 선택 IIS 웹 사이트 배포 템플릿을 한 다음 확인을 클릭 적용 .


클릭 작업 탭을 다음 클릭 IIS 배포 단계. 를 들어 배포 그룹 과 같은 이전에 만든 배포 그룹을 클릭 myIIS을 .


릴리스 정의를 저장하십시오.

앱 배포를위한 릴리즈 만들기

이제 릴리스를 작성할 준비가되었습니다. 즉, 특정 빌드에서 생성 된 아티팩트와 함께 릴리스 정의를 실행하는 프로세스를 시작하는 것입니다. 이렇게하면 빌드가 배포됩니다.

릴리스 정의를 테스트하려면 릴리스 를 선택한 다음 릴리스 작성을 선택 하십시오 .

새 릴리스 작성 패널에서 작성을 선택 하십시오 . 새로운 릴리스가 작성되었음을 나타내는 창의 상단 근처에있는 링크를 선택하십시오.

로그 탭을 열면 배포에서 실시간 로그를 볼 수 있습니다. Azure 웹 응용 프로그램에 배포 될 때까지 기다리십시오.

배포가 완료되면 웹 브라우저를 열고 웹 응용 프로그램을 테스트합니다. http://<publicIpAddress>여기서 <publicIpAddress>IIS 웹 서버에있는 웹 사이트의 IP 주소입니다.