Visual Studio를 사용하여 사이트 배포(VB)

작성자 : Scott Mitchell

PDF 다운로드

Visual Studio에는 웹 사이트를 배포하기 위한 도구가 포함되어 있습니다. 이 자습서에서 이러한 도구에 대해 자세히 알아보세요.

소개

이전 자습서에서는 간단한 ASP.NET 웹 애플리케이션을 웹 호스트 공급자에 배포하는 방법을 살펴보았습니다. 특히 이 자습서에서는 FileZilla와 같은 FTP 클라이언트를 사용하여 개발 환경에서 프로덕션 환경으로 필요한 파일을 전송하는 방법을 보여 줍니다. 또한 Visual Studio는 웹 호스트 공급자에 쉽게 배포할 수 있는 기본 제공 도구를 제공합니다. 이 자습서에서는 FTP 또는 FrontPage 서버 확장을 사용하여 원격 웹 서버 간 파일을 이동할 수 있는 웹 사이트 복사 도구의 두 가지 도구를 살펴봅니다. 및 게시 도구는 전체 웹 사이트를 지정된 위치에 복사합니다.

참고

Visual Studio에서 제공하는 또 다른 배포 관련 도구는 웹 설치 프로젝트 추가 기능입니다. 웹 설정 프로젝트는 웹 사이트의 콘텐츠 및 구성 정보를 단일 MSI 파일로 패키지합니다. 이 옵션은 인트라넷 내에 배포된 웹 사이트 또는 고객이 자체 웹 서버에 설치하는 미리 패키지된 웹 애플리케이션을 판매하는 회사에 가장 유용합니다. 웹 배포 프로젝트 Add-In 개발 환경과 프로덕션 환경에 대한 빌드 간의 구성 차이를 쉽게 지정할 수 있는 Visual Studio Add-In. 웹 설정 프로젝트는 이 자습서 시리즈에서 다루지 않습니다. 웹 배포 프로젝트는 개발과 프로덕션 간의 일반적인 구성 차이점 자습서에 요약되어 있습니다.

웹 사이트 복사 도구를 사용하여 사이트 배포

Visual Studio의 웹 사이트 복사 도구는 독립 실행형 FTP 클라이언트와 기능면에서 유사합니다. 간단히 말해서 웹 사이트 복사 도구를 사용하면 FTP 또는 FrontPage 서버 확장을 통해 원격 웹 사이트에 연결할 수 있습니다. FileZilla의 사용자 인터페이스와 마찬가지로 웹 사이트 복사 사용자 인터페이스는 두 개의 창으로 구성됩니다. 왼쪽 창은 로컬 파일을 나열하고 오른쪽 창은 대상 서버에 해당 파일을 나열합니다.

참고

웹 사이트 복사 도구는 웹 사이트 프로젝트에만 사용할 수 있습니다. Visual Studio는 웹 애플리케이션 프로젝트로 작업할 때 이 도구를 제공합니다.

웹 사이트 복사 도구를 사용하여 Book Review 애플리케이션을 프로덕션에 게시해 보겠습니다. 웹 사이트 복사 도구는 웹 사이트 프로젝트 모델을 사용하는 프로젝트에서만 작동하므로 BookReviewsWSP 프로젝트에서만 이 도구를 사용하여 검사할 수 있습니다. 해당 프로젝트를 엽니다.

솔루션 탐색기 웹 사이트 복사 아이콘을 클릭하여 웹 사이트 복사 도구 프로젝트를 시작합니다(그림 1에서는 이 아이콘이 원으로 표시됨). 또는 웹 사이트 메뉴에서 웹 사이트 복사 옵션을 선택할 수 있습니다. 두 방법 중 하나가 그림 1에 표시된 웹 사이트 복사 사용자 인터페이스를 시작합니다. 아직 원격 서버에 연결하지 않았기 때문에 그림 1의 왼쪽 창만 채워집니다.

웹 사이트 복사 도구의 사용자 인터페이스는 두 개의 창으로 나뉩니다.

그림 1: 웹 사이트 복사 도구의 사용자 인터페이스가 두 개의 창으로 나뉩니다(전체 크기 이미지를 보려면 클릭).

사이트를 배포하려면 먼저 웹 호스트 공급자에 연결해야 합니다. 웹 사이트 복사 사용자 인터페이스의 맨 위에 있는 연결 단추를 클릭합니다. 그림 2에 표시된 웹 사이트 열기 대화 상자가 표시됩니다.

왼쪽에서 네 가지 옵션 중 하나를 선택하여 대상 웹 사이트에 연결할 수 있습니다.

  • 파일 시스템 - 컴퓨터에서 액세스할 수 있는 폴더 또는 네트워크 공유에 사이트를 배포하려면 이 옵션을 선택합니다.
  • 로컬 IIS - 이 옵션을 사용하여 컴퓨터에 설치된 IIS 웹 서버에 사이트를 배포합니다.
  • FTP 사이트 - FTP 를 사용하여 원격 웹 사이트에 연결합니다.
  • 원격 사이트 - FrontPage 서버 확장을 사용하여 원격 웹 사이트에 연결합니다.

대부분의 웹 호스트 공급자는 FTP를 지원하지만 프런트 페이지 서버 확장 지원은 더 적습니다. 따라서 FTP 사이트 옵션을 선택한 다음 그림 2와 같이 연결 정보를 입력했습니다.

연결 정보가 텍스트 필드로 채워진 것을 보여 주는 웹 사이트 열기 대화 상자의 스크린샷

그림 2: 대상 웹 사이트 지정(전체 크기 이미지를 보려면 클릭)

연결한 후 웹 사이트 복사 도구는 오른쪽 창의 원격 사이트에 파일을 로드하고 각 파일의 상태 나타냅니다( 새로 만들기, 삭제됨, 변경됨 또는 변경되지 않음). 로컬 사이트에서 원격 사이트로 파일을 복사하거나 그 반대로 복사할 수 있습니다.

BookReviewsWSP 프로젝트에 새 페이지를 추가한 다음, 웹 사이트 복사 도구가 작동하는 것을 볼 수 있도록 배포해 보겠습니다. 라는 루트 디렉터리의 Visual Studio에서 새 ASP.NET 페이지를 만듭니다 Privacy.aspx. 페이지에서 master 페이지를 Site.master 사용하고 사이트의 개인 정보 취급 방침을 이 페이지에 추가하도록 합니다. 그림 3은 이 페이지를 만든 후 Visual Studio를 보여줍니다.

웹 사이트의 루트 폴더에 새 페이지 명명된 <코드>Privacy.aspx</코드> 추가

그림 3: 웹 사이트의 루트 폴더에 명명된 Privacy.aspx 새 페이지 추가(전체 크기 이미지를 보려면 클릭)

다음으로, 웹 사이트 복사 사용자 인터페이스로 돌아갑니다. 그림 4에서 볼 수 있듯이 왼쪽 창에는 이제 새 파일 및 Policy.aspxPolicy.aspx.vb가 포함됩니다. 또한 이러한 파일은 화살표 아이콘과 새로 만들기 상태로 표시되어 로컬 사이트에 있지만 원격 사이트에는 없음을 나타냅니다.

웹 사이트 복사 도구는 왼쪽 창에 새 <코드>Privacy.aspx</코드> 페이지를 포함합니다.

그림 4: 웹 사이트 복사 도구의 왼쪽 창에 새 Privacy.aspx 페이지가 포함되어 있습니다(전체 크기 이미지를 보려면 클릭).

새 파일을 배포하려면 해당 파일을 선택한 다음 화살표 아이콘을 클릭하여 원격 사이트로 전송합니다. 전송이 완료되면 Policy.aspxPolicy.aspx.vb 파일이 상태 변경되지 않은 로컬 사이트와 원격 사이트에 모두 존재합니다.

새 파일을 나열하는 것과 함께 웹 사이트 복사 도구는 로컬 사이트와 원격 사이트 간에 다른 모든 파일을 강조 표시합니다. 이 동작을 확인하려면 페이지로 돌아가 Privacy.aspx 서 개인 정보 취급 방침에 몇 단어를 더 추가합니다. 페이지를 저장한 다음 웹 사이트 복사 도구로 돌아갑니다. 그림 5 Privacy.aspx 와 같이 왼쪽 창의 페이지에는 원격 사이트와 동기화되지 않았음을 나타내는 변경됨 상태 있습니다.

웹 사이트 복사 도구 코드>Privacy.aspx</코드> 페이지가 변경되었음을 나타냅니다<.

그림 5: 웹 사이트 복사 도구 페이지가 Privacy.aspx 변경되었음을 나타냅니다(전체 크기 이미지를 보려면 클릭).

웹 사이트 복사 도구는 마지막 복사 작업 이후 파일이 삭제되었는지도 나타냅니다. 로컬 프로젝트에서 를 Privacy.aspx 삭제하고 웹 사이트 복사 도구를 새로 고칩니다. 및 Privacy.aspx.vb 파일은 Privacy.aspx 왼쪽 창에 나열되어 있지만 마지막 복사 작업 이후 제거되었음을 나타내는 삭제된 상태 있습니다.

웹 애플리케이션 게시

Visual Studio 내에서 웹 애플리케이션을 배포하는 또 다른 방법은 빌드 메뉴를 통해 액세스할 수 있는 게시 옵션을 사용하는 것입니다. 게시 옵션은 애플리케이션을 명시적으로 컴파일한 다음 필요한 모든 파일을 지정된 원격 사이트까지 복사합니다. 곧 살펴보겠습니다. 게시 옵션은 웹 사이트 복사 도구보다 더 무뚝뚝합니다. 웹 사이트 복사 도구를 사용하면 로컬 및 원격 사이트의 파일을 검사하고 필요에 따라 개별 파일을 업로드하거나 다운로드할 수 있지만 게시 옵션은 전체 웹 애플리케이션을 배포합니다.

필요한 모든 파일을 지정된 원격 사이트에 복사하는 것 외에도 게시 옵션은 애플리케이션을 명시적으로 컴파일합니다. 웹 애플리케이션 프로젝트를 명시적으로 컴파일해야 한다는 점을 감안할 때 웹 애플리케이션 프로젝트에 게시 옵션을 사용할 수 있다는 것은 놀라운 일이 아닙니다. 약간 놀라운 점은 웹 사이트 프로젝트에도 게시 옵션을 사용할 수 있다는 것입니다. 배포해야 할 파일 결정 자습서에서 설명한 대로 웹 사이트 프로젝트는 사전 컴파일이라고 하는 프로세스를 통해 명시적으로 컴파일할 수 있습니다. 이 자습서에서는 웹 애플리케이션 프로젝트에서 게시 옵션을 사용하는 방법에 중점을 둡니다. 이후 자습서에서는 사전 컴파일을 살펴볼 예정이며, 이 시점에서 웹 사이트 프로젝트와 함께 게시 옵션을 사용하여 살펴보겠습니다.

참고

웹 사이트 프로젝트와 웹 애플리케이션 프로젝트 모두에 대해 Visual Studio에서 게시 옵션을 사용할 수 있지만 Visual Web Developer는 웹 애플리케이션 프로젝트에 대한 게시 옵션만 제공합니다.

게시 옵션을 사용하여 Book Reviews 애플리케이션을 배포해 보겠습니다. Visual Studio에서 BookReviewsWAP(웹 애플리케이션 프로젝트)를 열어 시작합니다. 게시 메뉴에서 BookReviewsWAP 빌드 프로젝트를 선택합니다. 이렇게 하면 다른 구성 옵션 중에서 대상 위치를 묻는 대화 상자가 표시됩니다(그림 6 참조). 웹 사이트 복사 도구와 마찬가지로 로컬 폴더를 가리키는 위치, IIS의 로컬 웹 사이트, FrontPage 서버 확장을 지원하는 원격 웹 사이트 또는 FTP 서버 주소를 입력할 수 있습니다. 게시하기 전에 원격 웹 서버의 파일을 배포된 파일로 바꿀지 아니면 원격 사이트의 모든 콘텐츠를 삭제할지 선택할 수 있습니다. 복사 여부를 지정할 수도 있습니다.

  • 애플리케이션을 실행하는 데 필요한 프로젝트의 파일만 필요하므로 불필요한 소스 코드와 프로젝트 관련 파일은 생략됩니다.
  • 소스 코드 파일 및 Visual Studio 프로젝트 파일(예: 솔루션 파일)을 포함하는 모든 프로젝트 파일.
  • 원본 프로젝트 폴더의 모든 파일은 프로젝트에 포함되는지 여부에 관계없이 원본 프로젝트 폴더의 모든 파일을 복사합니다.

폴더의 내용을 업로드하는 옵션도 있습니다 App_Data .

게시하기 전에 채워진 기존 파일 모두 삭제 및 실행하는 데 필요한 파일만 확인란을 보여 주는 웹 게시 대화 상자의 스크린샷

그림 6: 대상 웹 사이트 지정(전체 크기 이미지를 보려면 클릭)

Book Review 애플리케이션의 경우 원격 사이트에는 웹 사이트 복사 도구를 통해 BookReviewsWSP 프로젝트를 복사할 때 배포된 파일이 포함됩니다. 따라서 기존 콘텐츠를 모두 삭제하여 게시 옵션을 시작하겠습니다. 또한 불필요한 소스 코드 및 프로젝트 파일로 프로덕션 환경을 어지럽히는 대신 필요한 파일을 복사해 보겠습니다. 이러한 옵션을 지정한 후 게시 단추를 클릭합니다. 앞으로 몇 초 동안 Visual Studio는 필요한 파일을 대상 사이트에 배포하여 출력 창에 진행률을 표시합니다.

그림 7은 게시 작업이 완료된 후 FTP 사이트의 파일을 보여줍니다. 태그 페이지와 필요한 심각도 및 클라이언트 쪽 지원 파일만 업로드되었습니다.

필요한 파일만 프로덕션 환경에 게시되었습니다.

그림 7: 필요한 파일만 프로덕션 환경에 게시되었습니다(전체 크기 이미지를 보려면 클릭).

게시 옵션은 웹 사이트 복사 도구보다 덜 미묘한 도구입니다. 웹 사이트 복사 도구를 사용하면 로컬 및 원격 사이트의 파일을 검사하고 파일의 차이점을 확인할 수 있지만 게시 옵션은 이러한 인터페이스를 제공하지 않습니다. 또한 웹 사이트 복사 도구를 사용하면 일회성 변경, 개별 파일 업로드 또는 삭제를 수행할 수 있습니다. 게시 옵션은 이러한 세분화된 컨트롤을 허용하지 않습니다. 대신 전체 애플리케이션을 게시합니다. 이 동작에는 장단점이 있습니다. 더하기 측면에서는 게시 옵션을 사용할 때 중요한 파일을 업로드하는 것을 잊지 않을 것입니다. 그러나 매우 큰 웹 사이트를 약간 변경한 경우 어떻게 되는지 고려합니다. 게시 옵션을 사용하면 수정된 페이지 또는 두 페이지를 업데이트할 수 없지만 Visual Studio에서 전체 사이트를 배포하는 동안 기다려야 합니다.

콘텐츠가 프로덕션 환경과 개발 환경 간에 다른 특정 파일이 있는 것은 드문 일이 아닙니다. 주요 예는 애플리케이션의 구성 파일인 Web.config입니다. 게시 옵션은 웹 애플리케이션 파일을 맹목적으로 복사하므로 프로덕션 환경의 사용자 지정된 구성 파일을 개발 환경의 버전으로 덮어씁니다. 후속 자습서에서는 이 항목을 자세히 살펴보고 이러한 차이점이 있을 때 웹 애플리케이션을 배포하기 위한 팁을 제공합니다.

요약

웹 사이트를 배포하려면 개발 환경에서 프로덕션 환경으로 필요한 파일을 복사해야 합니다. 이전 자습서에서는 FileZilla와 같은 FTP 클라이언트를 사용하여 파일을 전송하는 방법을 보여 줍니다. 이 자습서에서는 Visual Studio의 두 가지 배포 도구인 웹 사이트 복사 도구와 게시 옵션을 검토했습니다. 웹 사이트 복사 도구는 로컬 컴퓨터의 파일을 나열하는 두 개의 팬 인터페이스와 두 컴퓨터 간에 파일을 쉽게 업로드하거나 다운로드할 수 있는 지정된 원격 컴퓨터가 있다는 측면에서 FTP 클라이언트와 유사합니다. 게시 옵션은 프로젝트를 명시적으로 컴파일한 다음 전체 애플리케이션을 지정된 대상에 배포하는 더 무딘 도구입니다.

행복한 프로그래밍!

추가 정보

이 자습서에서 설명하는 topics 대한 자세한 내용은 다음 리소스를 참조하세요.