Octopus 2.0 part 10: Deploying an ASP.NET web application

이 비디오에서는 Octopus를 사용하여 ASPNET 웹 사이트를 배포하는 방법을 보여줍니다

여기에 ASPNET MVC 웹 사이트가 있습니다 OctoPack을 사용하여 사이트를 꾸몄습니다 OctoPack은 ASPNET 사이트를 패키징 할 때 이미지 파일을 실행하는 데 필요한 콘텐츠 파일 (보기, JavaScript, CSS 및 이미지 파일) 응용 프로그램뿐만 아니라 모든 바이너리 및 구성 파일이 포함됩니다

이 웹 사이트를 내 웹 서버 역할의 컴퓨터에 배포 할 것입니다 테스트와 수용을 위해이 역할에는 하나의 시스템 만 있지만 프로덕션 환경에서는 두 개의 웹 서버가 있습니다 프로젝트의 프로세스 탭으로 이동하여 배포 프로세스에 다른 NuGet 패키지 단계를 추가합니다 내 ASPNET 웹 사이트에서 구성 변수 기능을 사용하기 때문에 구성 변수 기능을 사용하도록 설정합니다

Octopus가 자동으로 업데이트되기를 원하는 webconfig 파일의 연결 문자열 Webreleaseconfig가 있기 때문에 구성 변환 기능도 사용할 수 있습니다

변환 파일 빌드시 구성 변환을 실행하는 대신 Octopus는 실제로 배포 중에이를 실행합니다 배포 할 환경에 따라 다른 구성 변환 파일을 가질 수도 있습니다 마지막으로 IIS 웹 사이트 및 응용 프로그램 풀 기능을 사용하도록 설정합니다 배포 할 IIS의 웹 사이트 이름을 지정하겠습니다

환경에 따라 다른 웹 사이트 이름을 사용할 수 있도록 Octopus 변수를 참조하겠습니다 같은 방식으로 생성 또는 업데이트 할 응용 프로그램 풀의 이름을 지정합니다 Octopus에 사용자 지정 사용자를 비롯한 특정 ID로 실행되도록 응용 프로그램 풀을 구성하도록 지정할 수 있습니다 IIS 웹 사이트가 수신 대기하는 바인딩을 지정할 수도 있습니다 기본 바인딩을 제거하고 바인딩의 호스트 헤더로 현재 컴퓨터의 이름을 사용하여 사용자 지정 바인딩을 추가 할 것입니다

마지막으로 IIS에서 사용할 인증 모드를 선택할 수 있습니다 이제는 프로덕션 환경에 두 개의 웹 서버가 있다는 것을 보여주었습니다 기본적으로 Octopus는 지정한 역할의 모든 시스템에서 패키지 단계를 병렬로 실행합니다 이는 보통 두 웹 서버가 동시에 업데이트된다는 것을 의미합니다 대신 "롤링 배포"라고하는 구성을 구성 할 수 있습니다

배치 크기를 지정할 수 있습니다 이는 Octopus에 한 번에 배치 할 기계의 수를 알려줍니다 예를 들어, 10 대의 서버에 배포하고 배치 크기를 1로 지정하면 하나의 머신에 전개하고, 다음에 전개하는 등의 작업을 수행 할 수 있습니다 롤링 배포이므로 하위 단계를 추가 할 수도 있습니다 하위 단계는 상위 단계와 동시에 실행됩니다

롤링 배포에서 이것은 두 단계가 하나의 시스템에서 실행된다는 것을 의미합니다 끝날 때 롤링 단계는 다음 기계와 다음 기계 등에서 시작됩니다 우리 아이 단계는 10 초를 기다리는 PowerShell 스크립트 일뿐입니다 롤링 배포를 실제로 볼 수 있습니다 나는 릴리스를 만들어 내 테스트 환경에 배포 할 것이다

로그를 보면 웹 사이트가 배포 된 것을 볼 수 있으며 현재 수면 중에 기다리고 있습니다 테스트 웹 서버를 탐색하면이 사이트가 현재 실행 중임을 알 수 있습니다 이 릴리스를 프로덕션으로 승격시켜 보겠습니다 미리보기에서는 두 웹 서버에서 모두 실행됩니다 첫 번째 서버가 배포되었으며 IIS에서 사이트를 새로 고치면 사이트가로드되고 있음을 알 수 있습니다

그러나 두 번째 서버를 새로 고치면 여전히 IIS 방문 페이지가 표시됩니다 결국 롤링 배포가 완료되고 두 웹 서버가 사이트를 실행합니다