웹 배포 소개
가혹한 미탈에 의해
웹 배포란?
웹 배포는 콘텐츠 및 구성을 IIS에 동기화하기 위한 확장 가능한 클라이언트 서버 도구입니다. 웹 배포는 주로 다음 두 가지 시나리오에서 사용됩니다.
- 개발자는 이를 사용하여 컴파일된 웹 애플리케이션(ASP .Net, PHP 등)을 개발자 도구(Visual Studio, WebMatrix 등)에서 IIS로 동기화(즉, '게시')합니다.
- IT 전문가는 이를 사용하여 IIS6과 같은 이전 버전의 IIS를 실행하는 운영 체제에서 IIS 7.5와 같은 최신 버전의 IIS를 실행하는 운영 체제로 웹 사이트 & 애플리케이션을 마이그레이션합니다.
웹 배포는 FTP와 어떻게 비교됩니까?
웹 배포는 FTP, XCOPY 또는 RoboCopy와 같은 기술과 비교되는 경우가 많습니다. 이러한 기술은 유용하지만 웹 배포는 몇 가지 이점을 제공합니다.
다음은 FTP에 웹 배포 비교입니다.
- 웹 배포는 FTP보다 빠릅니다. 웹 배포는 각 작업에 대해 다른 명령을 실행하지 않습니다. 대신 동기화 시작 시 비교를 수행하고 변경 내용만 전송합니다.
- 웹 배포는 안전합니다. 웹 배포는 HTTPS를 통한 전송을 지원합니다. SFTP 및 FTPS와 같은 FTP의 변형도 안전합니다.
- 웹 배포는 대상 파일 및 디렉터리에 ACL(보안 설명자)을 설정할 수 있습니다. 예를 들어 웹 배포를 사용하여 배포하는 동안 Windows 사용자에게 애플리케이션의 '다운로드' 폴더에 대한 특정 액세스 권한을 부여할 수 있습니다.
- 웹 배포는 데이터베이스를 게시할 수 있습니다. Web Deploy는 SQL Server, MySQL Server, Sqlite 및 SQL Server Compact 데이터베이스를 스크립팅하고 동기화하는 동안 결과 스크립트를 적용할 수 있는 기본 지원을 제공합니다. 앱이 작동하기 위해 데이터베이스가 필요한 경우 매우 편리할 수 있습니다.
- 웹 배포는 배포 중에 변환을 적용할 수 있습니다. 웹 배포를 사용하여 동기화하는 동안 연결 문자열 또는 애플리케이션 설정을 변경할 수 있습니다. 웹 배포는 IIS 설정 변환을 포함하여 다양한 변환을 지원합니다.
- 웹 배포는 Visual Studio 2010 및 WebMatrix와 통합됩니다.
- 웹 배포는 확장할 수 있습니다. 웹 배포에는 새로운 시나리오를 작성할 수 있는 다양한 공개적으로 액세스할 수 있는 확장성 모델이 있습니다.
작동 원리
대부분의 웹 배포 작업은 원본과 대상 간의 동기화 작업을 중심으로 모델링됩니다. 동기화 작업은 아래 설명된 대로 하나 이상의 웹 배포 공급자를 사용하여 웹 배포 프레임워크에서 오케스트레이션됩니다.
프레임워크
웹 배포는 연결 상태를 관리하고 원본 & 대상 간의 동기화를 오케스트레이션하는 프레임워크로 구성됩니다. 예를 들어 프레임워크는 특정 유형의 콘텐츠 동기화를 건너뛰고, 규칙을 실행하고, 파일을 변환합니다.
프레임워크는 공용 API뿐만 아니라 명령줄 실행 파일msdeploy.exe통해 액세스할 수 있습니다.
공급자
웹 배포는 프레임워크에 연결하는 기본 제공 공급자를 사용하여 두 위치 간에 모든 종류의 데이터를 동기화할 수 있습니다. 공급자는 두 원본 간에 특정 형식의 데이터를 동기화하거나 데이터 원본에 대한 유용한 정보를 검색하는 방법을 알고 있습니다.
예를 들어 Web Deploy에는 전체 SQL Server 데이터베이스를 다른 서버와 동기화할 수 있는 SQL 데이터베이스(dbFullSql)와 함께 작동하는 공급자가 있습니다. 다른 기본 제공 공급자는 MySQL 데이터베이스(dbMySql), IIS 7 구성(appHostConfig), GAC 어셈블리(gacAssembly) 또는 COM 개체(comObject32/comObject64)를 동기화합니다. 더 완전한 목록은 TechNet에서 찾을 수 있습니다.
공급자 모델은 확장 가능하며 개발자가 사용자 지정 데이터를 동기화해야 하는 경우 웹 배포에 대한 자체 공급자를 작성할 수 있습니다.
내부
원본이 웹 배포를 통해 작업을 시작하면 웹 배포 프레임워크는 대상과의 연결을 설정합니다. 웹 배포는 두 개의 연결 엔드포인트를 지원하며 사용하는 연결 엔드포인트는 다음과 같은 여러 요인에 따라 달라집니다.
- 대상이 IIS6을 실행하는 Windows Server 2003인 경우 해당 웹 Deployment Agent 서비스(원격 에이전트 서비스라고도 함) 엔드포인트에 연결할 수 있습니다. 원격 에이전트 서비스는 이 연결에 대한 보안을 제공하며 관리자 사용자만 액세스할 수 있습니다.
- 대상이 IIS7을 실행하는 Windows Server 2008 또는 IIS7.5를 실행하는 Windows Server 2008 R2이고 관리자가 아닌 자격 증명으로 연결하는 경우 웹 관리 서비스 엔드포인트에 연결해야 합니다. 웹 배포는 웹 관리 서비스에 처리기를 설치합니다. 이 처리기를 사용하면 관리자가 아닌 사용자가 웹 관리 서비스를 인증하고 권한을 부여한 후 배포할 수 있습니다.
- 대상이 IIS7을 실행하는 Windows Server 2008 또는 IIS7.5를 실행하는 Windows Server 2008 R2이고 관리자 자격 증명으로 연결하는 경우 두 엔드포인트 중 하나에 연결할 수 있습니다.
자세한 정보
iis.net 및 technet 설명서에 대한 연습 자습서를 방문하세요.