웹 배포 소개

가혹한 미탈에 의해

웹 배포란?

웹 배포는 콘텐츠 및 구성을 IIS에 동기화하기 위한 확장 가능한 클라이언트 서버 도구입니다. 웹 배포는 주로 다음 두 가지 시나리오에서 사용됩니다.

  1. 개발자는 이를 사용하여 컴파일된 웹 애플리케이션(ASP .Net, PHP 등)을 개발자 도구(Visual Studio, WebMatrix 등)에서 IIS로 동기화(즉, '게시')합니다.
  2. IT 전문가는 이를 사용하여 IIS6과 같은 이전 버전의 IIS를 실행하는 운영 체제에서 IIS 7.5와 같은 최신 버전의 IIS를 실행하는 운영 체제로 웹 사이트 & 애플리케이션을 마이그레이션합니다.

원본에서 대상으로의 경로를 보여 주는 다이어그램 이러한 지점 사이에는 웹 사이트, 데이터베이스 및 구성이 있습니다.

웹 배포는 FTP와 어떻게 비교됩니까?

웹 배포는 FTP, XCOPY 또는 RoboCopy와 같은 기술과 비교되는 경우가 많습니다. 이러한 기술은 유용하지만 웹 배포는 몇 가지 이점을 제공합니다.

다음은 FTP에 웹 배포 비교입니다.

  1. 웹 배포는 FTP보다 빠릅니다. 웹 배포는 각 작업에 대해 다른 명령을 실행하지 않습니다. 대신 동기화 시작 시 비교를 수행하고 변경 내용만 전송합니다.
  2. 웹 배포는 안전합니다. 웹 배포는 HTTPS를 통한 전송을 지원합니다. SFTP 및 FTPS와 같은 FTP의 변형도 안전합니다.
  3. 웹 배포는 대상 파일 및 디렉터리에 ACL(보안 설명자)을 설정할 수 있습니다. 예를 들어 웹 배포를 사용하여 배포하는 동안 Windows 사용자에게 애플리케이션의 '다운로드' 폴더에 대한 특정 액세스 권한을 부여할 수 있습니다.
  4. 웹 배포는 데이터베이스를 게시할 수 있습니다. Web Deploy는 SQL Server, MySQL Server, Sqlite 및 SQL Server Compact 데이터베이스를 스크립팅하고 동기화하는 동안 결과 스크립트를 적용할 수 있는 기본 지원을 제공합니다. 앱이 작동하기 위해 데이터베이스가 필요한 경우 매우 편리할 수 있습니다.
  5. 웹 배포는 배포 중에 변환을 적용할 수 있습니다. 웹 배포를 사용하여 동기화하는 동안 연결 문자열 또는 애플리케이션 설정을 변경할 수 있습니다. 웹 배포는 IIS 설정 변환을 포함하여 다양한 변환을 지원합니다.
  6. 웹 배포는 Visual Studio 2010 및 WebMatrix와 통합됩니다.
  7. 웹 배포는 확장할 수 있습니다. 웹 배포에는 새로운 시나리오를 작성할 수 있는 다양한 공개적으로 액세스할 수 있는 확장성 모델이 있습니다.

작동 원리

관리 원본에서 대상으로의 경로와 관리 및 비 관리 대한 다른 경로를 보여 주는 다이어그램

대부분의 웹 배포 작업은 원본과 대상 간의 동기화 작업을 중심으로 모델링됩니다. 동기화 작업은 아래 설명된 대로 하나 이상의 웹 배포 공급자를 사용하여 웹 배포 프레임워크에서 오케스트레이션됩니다.

프레임워크

웹 배포는 연결 상태를 관리하고 원본 & 대상 간의 동기화를 오케스트레이션하는 프레임워크로 구성됩니다. 예를 들어 프레임워크는 특정 유형의 콘텐츠 동기화를 건너뛰고, 규칙을 실행하고, 파일을 변환합니다.

프레임워크는 공용 API뿐만 아니라 명령줄 실행 파일msdeploy.exe통해 액세스할 있습니다.

공급자

웹 배포는 프레임워크에 연결하는 기본 제공 공급자를 사용하여 두 위치 간에 모든 종류의 데이터를 동기화할 수 있습니다. 공급자는 두 원본 간에 특정 형식의 데이터를 동기화하거나 데이터 원본에 대한 유용한 정보를 검색하는 방법을 알고 있습니다.

예를 들어 Web Deploy에는 전체 SQL Server 데이터베이스를 다른 서버와 동기화할 수 있는 SQL 데이터베이스(dbFullSql)와 함께 작동하는 공급자가 있습니다. 다른 기본 제공 공급자는 MySQL 데이터베이스(dbMySql), IIS 7 구성(appHostConfig), GAC 어셈블리(gacAssembly) 또는 COM 개체(comObject32/comObject64)를 동기화합니다. 더 완전한 목록은 TechNet에서 찾을 수 있습니다.

공급자 모델은 확장 가능하며 개발자가 사용자 지정 데이터를 동기화해야 하는 경우 웹 배포에 대한 자체 공급자를 작성할 수 있습니다.

내부

원본이 웹 배포를 통해 작업을 시작하면 웹 배포 프레임워크는 대상과의 연결을 설정합니다. 웹 배포는 두 개의 연결 엔드포인트를 지원하며 사용하는 연결 엔드포인트는 다음과 같은 여러 요인에 따라 달라집니다.

I S 7 대상에 대한 의사 결정 트리를 보여 주는 다이어그램

  • 대상이 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 설명서에 대한 연습 자습서를 방문하세요.