다음을 통해 공유


Visual Studio 및 ASP.NET에 대한 웹 응용 프로그램 프로젝트 배포 개요

이 항목을 게시 하는 데 필요한 작업에 간략하게 설명 (배포) Visual Studio 웹 응용 프로그램 프로젝트 위치 다른 사용자가 액세스할 수 있습니다 응용 프로그램이 인터넷을 통해 서버.

이 항목에는 다음 제품에 적용 됩니다.

이 항목에는 다음과 같은 단원이 포함되어 있습니다.

  • 일반적인 배포 시나리오

  • 기본 배포 작업

  • 배포 데이터베이스에서 Visual Studio 구성

  • 다른 배포 작업

  • 백업 및 복원

여기에 나열 된 작업 중 일부는 웹 응용 프로그램 프로젝트에만 적용 됩니다. 웹 사이트 프로젝트를 배포 하는 방법에 대 한 자세한 내용은 Visual Studio 및 ASP.NET에 대한 웹 배포 콘텐츠 맵.

일반적인 배포 시나리오

웹 응용 프로그램 프로젝트를 사용 하 여 배포할 수 있습니다 게시를 클릭 한 또는 배포 패키지.

  • 클릭 한 번으로 게시 Visual Studio Visual Studio IDE에서 직접 단추를 클릭 하 여 배포할 수 있도록 기능을 말합니다. Visual Studio 대상 서버에 연결, 프로젝트 파일에 복사 하 고 다른 배포 작업을 수행 합니다.

  • 웹 배포 패키지 배포에 필요한 모든 정보를 포함 하는.zip 파일입니다. IIS 관리자 또는 명령줄을 사용 하 여 대상 서버에 설치 하 고 Visual Studio 또는 명령줄에서 패키지를 만듭니다.

이러한 메서드를 사용 하는 시나리오와 개인적인 선호에 따라 다릅니다. 게시를 클릭 한 일반적으로 가장 지속적인 통합 (CI) 개발 프로세스를 구현 하는 소규모 조직에 적합 합니다. 일반적으로 응용 프로그램 또는 공유 호스팅 환경에서는 전용된 서버에서 실행 되는 호스팅 회사에 배포 됩니다. (공유 호스팅 환경에서 단일 서버 호스팅 회사 클라이언트에 여러 사이트를 호스트할 수 있습니다.)

일반적인 타사 호스팅 배포 시나리오

엔터프라이즈 환경에서 인터넷에 연결 되어, 여러분의 회사의 서버에 일반적으로 배포 및 CI 프로세스를 일반적으로 구현할. 응용 프로그램 테스트 및 프로덕션 환경에 배포 하기 전에 준비 환경에서 올라갑니다. 사용 하면 이러한 시나리오 원클릭 게시 테스트 환경에 배포할 수 있지만 프로덕션 환경에서의 진행에 대 한 배포 패키지를 사용. 배포 패키지 명령줄을 만들고 패키지를 설치 하 여 CI 프로세스에 통합 될 수 있기 때문에 엔터프라이즈 시나리오에 보다 적합 합니다.

엔터프라이즈 웹 배포를 위한 일반적인 시나리오

타사 호스팅 및 기업 시나리오 모두를 사용 하 여 웹 응용 프로그램의 구름 호스팅할 때 적용 Windows Azure. Windows Azure 전용된 가상 컴퓨터 또는 공유 호스팅 환경에서 응용 프로그램을 실행할 수 있습니다.

기본 배포 작업

타사 호스팅 회사에 배포 하기 위해 수행 해야 하는 기본 작업은 다음과 같습니다.

  1. 호스팅 회사와 계정을 설정 합니다.

    Visual Studio 자동된 배포를 지 원하는 공급자를 호스팅에 대 한 자세한 내용은 참조 하십시오. ASP.NET 호스팅. ASP.NET의 버전을 지 원하는 공급자를 선택 해야 해당 웹 프로젝트의 대상이.

  2. 제작 프로 파일을 만듭니다.

    제작 프로 파일을 배포 하는 서버를 지정, 서버, 데이터베이스를 배포 하 고 다른 옵션에 로그온 자격 증명을 사용 합니다. 호스팅 회사 제작 프로 파일, 전자 메일 또는 Visual Studio 가져올 수 있는 파일에 대해 필요한 설정을 전송 합니다.

  3. 원클릭 게시 단추를 클릭 하 여 배포 프로세스를 시작 합니다.

    게시 단추 수에 웹 게시 제작 프로 파일 만들기를 사용 하는 마법사. 사용할 수 있습니다는 클릭 한 웹을 게시 가 선택할 수 있는 도구 모음의 보기-도구 모음 Visual Studio 메뉴.

이 프로세스에 대 한 일반 도움말을 참조 하십시오. 방법: Visual Studio에서 One-Click 게시를 사용하여 웹 응용 프로그램 프로젝트 배포. Visual Studio 종단 간 시나리오 배포에 대 한 안내 하는 12 부품 자습서를 참조 하십시오. 호스팅 공급자 배포 ASP.NET 사이트에서.

참고

기본적으로 Visual Studio 2012 ASP.NET 4.5 대상 웹 프로젝트를 만듭니다.ASP.NET 4.5 지원 하지 않습니다 호스팅 공급자에 있는 ASP.NET 4.5 프로젝트를 배포 하는 경우 응용 프로그램이 실행 되지 않습니다.이 오류를 해결 하려면 서버에 배포 된 응용 프로그램의 파일을 모두 제거 해야 합니다.자세한 내용은 호스팅 공급자 배포: 문제 해결.

엔터프라이즈 배포 시나리오에 대 한 참조는 엔터프라이즈 시나리오에서 웹 응용 프로그램 배포 ASP.NET 사이트에서 자습서 시리즈. 엔터프라이즈 배포 자습서에 대 한 작성 된 Visual Studio 2010 및에 아직 업데이트 되지 않은 Visual Studio 2012.

배포 데이터베이스에서 Visual Studio 구성

Visual Studio 자동된 데이터베이스 배포의 세 가지 방법을 제공합니다.

  1. 첫 번째 엔터티 프레임 워크 코드 마이그레이션

  2. DbDacFx 웹 공급자 배포

  3. DbFullSql 웹 공급자 배포

이러한 세 가지 방법은 웹 배포 게시 방법을 선택한 경우에 사용할 수 있습니다. 다른 사용 하는 경우 게시 방법, FTP, 파일 시스템 또는 FPSE와 같은 Visual Studio 외부 데이터베이스 배포를 처리 해야 합니다. SQL Server 데이터베이스를 수동으로 배포 하는 방법에 대 한 내용은 다음 리소스를 참조 하십시오.

Dd394698.collapse_all(ko-kr,VS.110).gif첫 번째 엔터티 프레임 워크 코드 마이그레이션

Entity Framework 버전 4.3, Microsoft 도입 첫 번째 마이그레이션 코드. 첫 번째 코드 마이그레이션 데이터 모델에 대 한 증분 변경 및 수정 사항을 데이터베이스에 전파 하는 프로세스를 자동화 합니다. 일반적으로 코드에서 첫 번째 항목의 이전 버전에서 Entity Framework 데이터 모델이 변경 될 때마다 데이터베이스를 다시 삭제 하 고 있습니다. 문제가 개발에서 테스트 데이터를 쉽게 다시 만들 수 있지만 프로덕션에서 일반적으로 데이터베이스를 삭제 하지 않고 데이터베이스 스키마를 업데이트 하려면 원하는 때문이 아닙니다. 마이그레이션 기능 코드 먼저 삭제 하 고 다시는 하지 않고 데이터베이스를 업데이트할 수 있습니다. 첫째 코드 필요한 스키마 변경 하는 방법을 자동으로 결정 수 또는 변경 내용을 사용자 지정 하는 코드를 작성할 수 있습니다. 첫 번째 코드 마이그레이션에 대 한 소개를 참조 하십시오. 첫 번째 마이그레이션 코드.

Visual Studio 첫 번째 마이그레이션 코드를 관리 하는 데이터베이스를 배포 하는 과정을 자동화할 수 있습니다. 제작 프로 파일을 구성 하면 레이블이 붙은 확인란 선택 실행 코드 첫 번째 마이그레이션 (응용 프로그램 시작 시 실행).

Publish_Web_Settings_tab_with_cf_database_high

이 확인란은 엔터티 프레임 워크 코드 첫 컨텍스트 클래스를 사용 하 여 응용 프로그램에 액세스 하는 데이터베이스에 대해 표시 됩니다. 이 옵션을 선택 하면 코드의 첫 번째를 사용할 수 있도록 배포 프로세스 자동으로 응용 프로그램 Web.config 파일을 대상 서버에 구성 된 MigrateDatabaseToLatestVersion 클래스 이니셜라이저입니다. 다음 그림 예제 Web.config 파일에서이 설정의 모양을 보여 줍니다.

Web.config의 MigrateDatabaseToLatestVersion

코드 첫 번째 마이그레이션 실행 옵션 또한 대상 Web.config 파일에는 추가 연결 문자열을 넣을 수 있도록 배포 프로세스를 인해:

Web.config의 DatabasePublish 연결 문자열

먼저 코드는 데이터베이스 스키마 변경을 위해이 추가 연결 문자열을 사용 합니다. 이 연결 문자열 관리자는 데이터베이스에 액세스할 사용자 자격 증명을 지정 해야 합니다. 코드의 첫 번째 스키마 업데이트에 대 한 별도 연결 문자열 사용 하므로 응용 프로그램 연결 문자열에 대 한 사용 권한 제한 된 사용자 자격 증명을 지정할 수 있습니다. 자세한 내용은 Web.config 자동 변경 코드의 첫 번째 마이그레이션에 대 한 검토 ASP.NET 사이트에서.

Visual Studio 배포 프로세스 동안 데이터베이스와 아무 작업도 하지 않습니다. 배포 된 응용 프로그램을 처음 배포한 후 데이터베이스를 액세스 하는 경우 코드의 첫 번째 자동으로 데이터베이스 만들거나 데이터베이스 스키마를 최신 버전으로 업데이트 합니다. 응용 프로그램의 마이그레이션을 구현 하는 경우 Seed 메서드, 메서드 데이터베이스를 작성 하거나 스키마를 업데이트 한 후 실행 합니다.

Visual Studio 첫 번째 코드 마이그레이션 배포를 구성 하는 방법에 대 한 자세한 내용은 방법: Visual Studio에서 One-Click 게시를 사용하여 웹 응용 프로그램 프로젝트 배포 및 자습서 시리즈 Visual Studio 또는 Visual Web Developer를 사용 하 여 호스팅 공급자 ASP.NET 웹 응용 프로그램 배포.

Dd394698.collapse_all(ko-kr,VS.110).gifDbDacFx 웹 공급자 배포

데이터베이스 배포에 대 한 웹 배포 dbDacFx 공급자를 사용 하려면 확인란을 선택 업데이트 데이터베이스 에 있는 웹 게시 마법사. 이 엔터티 프레임 워크 코드 첫 컨텍스트 클래스를 사용 하지 않고 응용 프로그램에 액세스 하는 SQL Server 데이터베이스를 보여 줍니다.

Publish_Web_Settings_tab_with_non_cf_database_

초기 배포 동안 dbDacFx 공급자 테이블 및 기타 데이터베이스 개체 대상 데이터베이스에 원본 데이터베이스와 일치 하도록 만듭니다. 후속 배포 원본 및 대상 데이터베이스 간에 다른 점은 공급자가 결정 한 원본 데이터베이스와 일치 하도록 대상 데이터베이스의 스키마를 업데이트 합니다. 기본적으로 공급자 같은 테이블이 나 열 삭제 되는 경우 데이터가 손실 될 대로 변경 되지 않습니다.

또한이 옵션 대상 데이터베이스에 배포 하는 동안 실행 하려는 사용자 고유의 사용자 지정 SQL 스크립트를 지정할 수 있습니다. 예를 들어, 공급자는 테이블을 작성 하면 초기 데이터를 테이블에 삽입 하려면 사용자 지정 스크립트를 실행할 수 있습니다. 나는 데이터 손실이 발생할 수 있으므로 자동으로 수행할 수 없습니다. 스키마 변경 하기 위해 사용자 지정 스크립트를 실행할 수 있습니다.

이 데이터베이스 구축 방법 웹 3.0 배포와 dbDacFx 공급자는 대상 웹 서버에 설치할 수 있어야 합니다. (이러한 대상 데이터베이스 서버에 설치할 수 없습니다.)

Windows Vista SP2, Windows XP 및 Windows Server 2003과 같은 이전 운영 체제와 dbDacFx 공급자 작동 하지 않습니다. 이러한 운영 체제 배포 데이터베이스를 사용 하 여 웹 배포 공급자 dbFullSql.

DbDacFx 공급자를 사용 하 여 데이터베이스를 배포 하는 방법 및 배포 하는 웹 3.0을 설치 하는 방법에 대 한 정보 및 대상 웹 서버의 dbDacFx 공급자를 참조 하십시오. 방법: Visual Studio에서 One-Click 게시를 사용하여 웹 응용 프로그램 프로젝트 배포.

Dd394698.collapse_all(ko-kr,VS.110).gifDbFullSql 웹 공급자 배포

DbFullSql 공급자 웹 배포를 사용 하려면 사용자 데이터베이스 배포 설정을 구성 된 게시 패키지/SQL 프로젝트 속성 창의 탭. 이 데이터베이스 구축 방법 Visual Studio 2010 SP1 이후 제공 되었습니다. DbFullSql 공급자 데이터베이스 스키마의 초기 배포를 수행할 수도 있고, 데이터 뿐만 아니라 스키마 선택적으로 배포할 수 있습니다. 이 공급자는 데이터베이스 증분 배포를 수행 하지 않습니다. 공급자가 이미 존재 하는 테이블을 작성 하려고 하기 때문에 기존 데이터베이스에 스키마 업데이트를 배포 하려면이 공급자를 사용 하면 배포에 실패 합니다.

DbFullSql 공급자는 Windows XP 또는 Windows Server 2003 운영 체제를 사용 하는 경우와 같은 특정 시나리오에서 필요할 때만 사용 해야 하는 레거시 데이터베이스 배포 방법입니다. DbFullSql 공급자를 사용 하 여 데이터베이스 배포를 구성 하는 방법에 대 한 자세한 내용은 SQL 탭 패키지/게시, 프로젝트 속성마이그레이션에 SQL Server ASP.NET 사이트에서.

다른 배포 작업

시나리오 또는 응용 프로그램의 기능에 따라 다른 배포 작업에 필요한 또는 권장 수 있습니다. 몇 가지 더 일반적으로 목록을 다음과 같습니다.

  • Web.config 변환을 구성 합니다.

    응용 프로그램의 Web.config 파일에서 배포 된 응용 프로그램에 있는 설정을 포함할 수 있습니다. 예를 들어, 일반적으로 개발 하는 동안 디버깅 설정 하 고 프로덕션에서 사용 하지 않도록 설정 합니다. 자세한 내용은 Web.config 파일 변환 ASP.NET 사이트 및 Visual Studio를 사용하여 웹 응용 프로그램 프로젝트 배포를 위한 Web.config 변환 구문.

  • 파일 및 폴더를 대상 서버로 복사할지를 지정 합니다.

    기본적으로 Visual Studio 응용 프로그램을 실행 하는 데 필요한 파일만 배포 합니다. 대부분의 경우에도이 옵션을 사용할 수 있지만 특별 한 요구 사항이 있을 수 있습니다. App_Data 폴더에 데이터베이스 파일이 파일 개발에만 사용 되는 경우를 제외 하는 경우를 생각해 보겠습니다. 자세한 내용은 프로젝트 속성 구성 ASP.NET 사이트 및 웹 패키지/게시 탭, 프로젝트 속성.

  • 대상 서버에서 폴더 권한을 설정 합니다.

    응용 프로그램 일부 프로젝트 폴더에 쓰기 권한이 필요한 수 있습니다. 예를 들어, 응용 프로그램 사용자가 파일을 업로드할 수 있도록 하는 경우 업로드 된 파일 저장 폴더에 쓰기 권한이 필요 합니다. 일반적으로 명시적으로 응용 프로그램을 배포한 후 또는 배포 프로세스의 일부로 이러한 사용 권한을 구성 해야 합니다. 자세한 내용은 폴더 권한 설정 ASP.NET 웹 사이트에서.

  • 프로젝트를 미리 컴파일하십시오.

    기본적으로.aspx 및.ascx 페이지 웹 응용 프로그램 프로젝트에서 미리 컴파일된 있습니다. 대신,는 처음 요청 될 때가 컴파일됩니다. 매우 큰 응용 프로그램에서이 프로세스 후 배포 웹 페이지 요청을 처음 눈에 띄는 수 약간의 지연이 발생할 수 있습니다. 웹 응용 프로그램 프로젝트 컴파일 및 병합 옵션을 지정 하는 방법에 대 한 내용은 웹 패키지/게시 탭, 프로젝트 속성고급 미리 컴파일 설정 대화 상자.

  • 응용 프로그램을 배포 하는 동안 오프 라인으로 수행 합니다.

    배포 되는 동안 응용 프로그램을 사용할 수 있도록 않을 수 있습니다. 데이터베이스와 동기화 되는 응용 프로그램 코드 실행의 위험이 있을 수 있으므로 데이터베이스 업데이트를 배포할 때이 경우가 있습니다. 일시적으로 응용 프로그램을 오프 라인 하는 방법에 대 한 자세한 내용은 응용 프로그램 배포 시 오프 라인으로 바뀌는지 확인 에서 Visual Studio 및 ASP.NET에 대한 웹 배포 콘텐츠 맵.

  • 프로덕션 환경에 배포 하기 전에 프로덕션 유사 환경에서 사이트를 테스트 합니다.

    만 프로덕션 환경에 배포한 후 버그 찾기의 가능성을 줄이기 위해 일반적으로 응용 프로그램으로 최대한 프로덕션 환경과 유사한 환경에서 테스트 합니다. 프로덕션 서버에 배포 하기 전에이 작업을 수행 하려면 개발 컴퓨터에 IIS를 스테이징 서버 또는 테스트 계정 호스팅 공급자에 배포할 수 있습니다. 자세한 내용은 을 IIS에 테스트 환경 구축 ASP.NET 사이트에서.

  • 노출 되지 않는 배포 설정을 Visual Studio UI를 구성 합니다.

    Visual Studio UI 배포 설정을 구성할 수 있는 모든 노출 하지 않습니다. 예를 들어, 개별 폴더에 배포에서 제외할 UI를 사용할 수 없습니다. 그러나 구성 설정을 저장 하는 파일을 편집 하 여 이렇게 수 있습니다. 각 제작 프로 파일에는.pubxml 파일은 직접 편집할 수 있습니다. 모두 적용 배포 설정을 구성 하려는 경우 프로 파일을 게시, 만들 수 있는. wpp.targets 파일. 자세한 내용은 방법: 게시 프로필(.pubxml) 파일의 배포 설정 및 Visual Studio 웹 프로젝트의 .wpp.targets 파일 편집을 참조하십시오.

  • ASP.NET MVC에 대 한 이진 파일이 서버에 복사 되었는지 확인 합니다.

    ASP.NET MVC 또는 대상 버전을 지원 하지 않습니다 호스팅 공급자에 배포 하는 경우 사용자는 적절 한 설치 되어 있는지 확인 MVC 3 또는 MVC 4 Nuget의 패키지 프로젝트에서.

  • SQL Server Compact 4.0 이진 파일이 서버에 복사 되었는지 확인 합니다.

    SQL Server Compact 4.0을 지원 하지 않습니다 호스팅 공급자에 배포 하는 경우 설치 되어 있는지 확인은 SqlServerCompact Nuget의 패키지 프로젝트에서. 또한 bin\x86 및 bin\amd64 폴더를 프로젝트에 포함 해야 합니다. 자세한 내용은 SQL Server 압축 데이터베이스 배포.

백업 및 복원

아무 문제가 발생할 경우 응용 프로그램을 원래 상태로 복원할 수 있도록 기존 사이트에 업데이트를 배포 하기 전에 롤백 계획을 만듭니다. 고려해 야 할 사항은 다음과 같습니다.

  • 모든 코드 및 리소스를 사용 하 여 사이트를 백업 합니다.

    경고

    서버에 배포 하 여 프로젝트의 백업을 만드는 것으로 가정 하지 마십시오.배포 서버에는 일반적으로 복사 되지 않습니다 전에 어셈블리로 컴파일되는 소스 코드입니다.

  • 업데이트 데이터베이스의 변경 내용이 포함 된 경우 백업 데이터베이스 변경 내용을 롤백 계획을 만듭니다. 롤백 스크립트를 미리 경우에만 작성 할 수 있습니다. 롤백, 전에 배포 후 변경 된 테이블에 데이터 입력 또는 데이터베이스 같은 다른 응용 프로그램을 사용 하는 경우 수행할 내용을 생각 사용할 수도 있습니다.

  • 응용 프로그램이 다른 응용 프로그램과 인터페이스 면 있으면 업데이트를 롤백하는 방법에 어떤 지정 롤백 계획을 만듭니다.

참고 항목

개념

Visual Studio 및 ASP.NET에 대한 웹 배포 콘텐츠 맵