연습: One-Click 게시를 사용하여 웹 응용 프로그램 프로젝트 배포

이 연습에서는 One-Click 게시를 사용하여 웹 응용 프로그램 프로젝트를 웹 호스팅 업체에 배포하는 방법을 보여 줍니다. 배포할 프로젝트는 ASP.NET 멤버 자격 데이터베이스를 포함하며 다음 작업을 보여 줍니다.

  • 웹 응용 프로그램 및 데이터베이스의 초기 배포

  • 데이터베이스 변경 내용을 포함하지 않는 웹 응용 프로그램 업데이트의 후속 배포

이 연습을 완료하려면 다음과 같은 요건이 필요합니다.

  • Visual Studio 또는 Visual Web Developer Express

    참고참고

    Visual Studio를 사용하는 경우 이 연습에서는 Visual Studio를 처음 시작할 때 웹 개발 설정 컬렉션을 선택했다고 가정합니다. 자세한 내용은 방법: 웹 개발 환경 설정 선택을 참조하십시오.

  • One-Click 게시를 지원하는 웹 호스팅 업체의 계정. 이러한 계정이 아직 없으면 계정을 등록해야 합니다. 호스팅 업체를 찾는 방법에 대한 자세한 내용은 WebsiteSpark 파트너 카탈로그를 참조하십시오.

One-Click 배포를 설정하려면 웹 호스팅 업체에서 다음 정보를 얻어야 합니다.

  • 호스팅 계정의 서비스 URL. 호스팅 업체의 웹 서버에서 배포를 관리하는 IIS 처리기의 URL입니다. 이 URL은 일반적으로 https://prefix.hostingcompanyname.com 또는 https://prefix.hostingcompanyname.com:8172/MsDeploy.axd 형식입니다.

  • 슬래시 문자(/)로 구분된 웹 사이트 이름과 응용 프로그램 이름. 호스팅 업체에서는 일반적으로 이 정보를 제공할 때 "Site/application" 형식의 이름을 사용합니다. 또는 호스팅 업체에서 사이트 이름만 지정하는 경우도 있습니다. 이 경우 원하는 대로 응용 프로그램 이름을 지정할 수 있습니다.

  • 호스팅 업체의 웹 서버에서 사이트를 업데이트할 수 있는 권한이 있는 계정의 사용자 이름과 암호

  • 호스팅 업체의 데이터베이스 서버에 있는 사이트 데이터베이스에 액세스하는 데 사용할 수 있는 연결 문자열. 연결 문자열의 로그인 자격 증명에는 데이터베이스 구조를 업데이트할 수 있는 권한이 있어야 합니다.

  • 신뢰할 수 없는 인증서를 허용할 수 있는지 여부에 대한 정보. 호스팅 업체에서 이에 대해 별도로 명시하지 않은 경우 신뢰할 수 없는 인증서를 허용할 필요는 없는 것으로 간주할 수 있습니다.

One-Click 게시를 지원하는 호스팅 업체에서는 일반적으로 계정 등록 후 사용자에게 보내는 전자 메일에서 이러한 정보를 제공합니다. 이러한 자동 전송 전자 메일을 받지 못한 경우에는 정보를 직접 요청해야 합니다.

먼저 Visual Studio ASP.NET 웹 응용 프로그램 템플릿을 사용하여 웹 응용 프로그램 프로젝트를 만듭니다. 이 템플릿은 마스터 페이지, 콘텐츠 페이지, CSS 스타일시트 파일(.css), 클라이언트 스크립트 파일 및 멤버 자격 기능을 포함하는 웹 프로젝트를 만듭니다.

배포할 웹 프로젝트를 만들려면

  1. Visual Studio에서 파일 메뉴의 새로 만들기프로젝트를 차례로 선택하여 새 프로젝트 대화 상자를 엽니다.

    참고참고

    새 웹 사이트가 아니라 새 프로젝트를 선택해야 합니다. One-Click 게시는 웹 응용 프로그램 프로젝트에서만 작동합니다.

  2. 설치된 템플릿 창에서 Visual Basic 또는 Visual C#을 확장하고 을 선택합니다.

  3. ASP.NET 웹 응용 프로그램 템플릿을 선택합니다.

    다음 그림과 유사한 새 프로젝트 대화 상자가 나타납니다.

    기본값으로 채워진 새 프로젝트 대화 상자
  4. 확인을 클릭합니다.

    Visual Studio에서 웹 응용 프로그램이 만들어집니다. 멤버 자격 데이터베이스를 포함하기 위해 App_Data 폴더도 만들어지지만 이 폴더에 데이터베이스는 아직 없습니다.

    다음 단계에서는 응용 프로그램 이름이 WebApplication1이라고 가정합니다.

  5. 솔루션 탐색기에서 Account 폴더를 확장하고 Register.aspx 파일을 마우스 오른쪽 단추로 클릭한 다음 브라우저에서 보기를 선택합니다.

    다음 그림과 같이 새 계정 만들기 페이지가 나타납니다.

    새 계정 만들기 페이지
  6. 사용자 이름전자 메일에 각각 newuser와 newuser@webapplication1.com을 입력하고 암호를 입력한 다음 사용자 만들기를 클릭합니다. 암호는 나중에 입력해야 하므로 기록해 둡니다.

    App_Data 폴더에 ASPNETDB.MDF SQL Server 데이터베이스 파일이 만들어지고 제공한 값이 해당 데이터베이스에 입력됩니다.

  7. 브라우저를 닫습니다.

기본적으로 새 프로젝트의 활성 빌드 구성은 디버그입니다. 이 연습에서는 공용 웹 사이트를 배포하는 방법을 보여 줍니다. 따라서 릴리스 빌드 구성으로 전환한 다음 이 빌드 구성의 배포 설정을 만들어야 합니다.

활성 빌드 구성을 설정하려면

  1. 빌드 메뉴에서 구성 관리자를 클릭합니다.

    구성 관리자 대화 상자가 표시됩니다.

  2. 활성 솔루션 구성 드롭다운 목록에서 릴리스를 선택합니다.

  3. 활성 솔루션 구성 목록은 일반적으로 주 도구 모음에 표시됩니다. 목록이 이 도구 모음에 표시되는 경우 구성 관리자를 열지 않고 빌드 구성을 변경할 수 있습니다.

  4. 구성 관리자를 닫습니다.

다음 절차에서는 배포할 파일과 IIS 설정을 지정합니다. 프로젝트의 속성 페이지에 있는 웹 패키지 및 게시 탭을 사용하여 이 작업을 수행합니다.

배포할 파일 및 설정을 지정하려면

  1. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

    속성 페이지가 표시됩니다.

  2. 웹 패키지 및 게시 탭을 선택합니다.

    다음 그림과 같이 웹 패키지 및 게시 탭이 표시됩니다.

    웹 패키지 및 게시 탭
  3. 구성 드롭다운 목록에서 활성(Release)이 선택되어 있는지 확인합니다. 기본적으로 활성 빌드 구성이 선택되며 이전 절차에서는 활성 빌드 구성을 릴리스로 설정했습니다.

  4. 배포할 항목(모든 배포 방법에 적용) 드롭다운 목록에서 이 응용 프로그램을 실행하는 데 필요한 파일만이 선택되어 있는지 확인합니다. 이 값이 기본값입니다.

  5. 생성된 디버그 기호 제외 확인란을 선택합니다.

    일반적으로 공용 웹 사이트는 디버그 모드에서 실행하지 않습니다.

    참고참고

    배포된 사이트를 디버그 모드에서 실행할 수 있는지 여부는 이 옵션과 Web.config 파일 설정에 따라 달라지며, 빌드 구성의 이름과는 상관이 없습니다.

  6. App_Data 폴더에서 파일 제외 확인란을 선택합니다.

    이 프로젝트에서는 멤버 자격 데이터베이스에 App_Data 폴더의 SQL Server Express .mdf 파일을 사용합니다. 그러나 One-Click 게시에서는 대상 연결 문자열로 스크립트를 생성 및 실행하여 데이터베이스를 배포합니다. 따라서 .mdf 파일은 배포하지 않습니다.

  7. SQL 패키지 및 게시 탭에서 구성된 모든 데이터베이스 포함 확인란이 선택되어 있는지 확인합니다. SQL 패키지 및 게시 탭은 다음 절차에서 구성합니다.

    웹 패키지 및 게시 탭에 변경 사항을 저장합니다.

다음 절차에서는 배포 중에 실행할 SQL Server 스크립트를 지정합니다. SQL 패키지 및 게시 탭을 사용하여 이 작업을 수행합니다.

배포 중에 실행할 SQL Server 스크립트를 지정하려면

  1. SQL 패키지 및 게시 탭을 클릭합니다.

    다음 그림과 같이 SQL 패키지 및 게시 탭이 표시됩니다.

    SQL 패키지 및 게시 탭
  2. Web.config에서 가져오기 단추를 클릭합니다.

    표에 이름이 "ApplicationServices-Deployment"인 행 하나가 만들어집니다.

  3. 데이터베이스 항목 표에서 ApplicationServices-Web.config 행이 선택되어 있는지 확인합니다.

    데이터베이스 항목 표 아래의 필드는 데이터베이스 항목 표에서 선택된 행에 적용됩니다. 행이 선택되어 있지 않으면 표 아래의 필드를 사용할 수 없습니다.

  4. 대상 데이터베이스에 대한 연결 문자열 상자에 호스팅 업체로부터 받은 연결 문자열을 입력합니다.

  5. 기존 데이터베이스에서 데이터 및/또는 스키마 가져오기 확인란이 선택되어 있는지 확인합니다.

    Web.config에서 가져오기 단추를 클릭할 때 이 옵션은 자동으로 선택되었습니다. 소스 데이터베이스에 대한 연결 문자열 상자는 Web.config 파일의 연결 문자열로 자동으로 채워졌습니다.

  6. 데이터베이스 스크립트 옵션 드롭다운 목록을 스키마 및 데이터로 설정합니다.

    이렇게 하면 앞에서 입력한 샘플 멤버 자격 레코드가 데이터베이스와 함께 배포됩니다. 그러면 개발 사이트에서 입력한 newuser 자격 증명을 사용하여 공용 사이트에 로그인할 수 있게 됩니다.

  7. SQL 패키지 및 게시 탭에 변경 사항을 저장합니다.

다음 절차에서는 배포된 Web.config 파일의 데이터베이스 연결 문자열이 올바른 값으로 설정되도록 하는 변환 파일을 만듭니다.

변환 파일을 만들어 Web.config 파일의 연결 문자열을 업데이트하려면

  1. 솔루션 탐색기에서 Web.config 파일을 확장합니다.

  2. Web.Release.config라는 파일이 없으면 Web.config 파일을 마우스 오른쪽 단추로 클릭한 다음 구성 변환 추가를 선택합니다.

  3. Web.Release.config 파일을 엽니다.

  4. connectionStrings 요소를 포함하는 주석 블록을 삭제합니다.

  5. 해당 위치에 다음 태그를 삽입합니다. 여기서 [connection string]은 호스팅 업체로부터 받은 연결 문자열로 바꿉니다.

    <connectionStrings>
      <add name="ApplicationServices"
           connectionString="[connection string]"
           providerName="System.Data.SqlClient" 
           xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
      </connectionStrings>
    
  6. Web.Release.config 파일을 저장한 다음 닫습니다.

웹 게시 대화 상자에서 프로젝트를 배포할 방식 및 위치를 지정하는 게시 프로필을 만듭니다. 각기 다른 설정을 포함하는 여러 개의 프로필을 만들 수 있습니다. 프로필은 빌드 구성과는 상관이 없습니다. 즉, 모든 빌드 구성에 모든 게시 프로필을 사용할 수 있습니다. 예를 들어 로컬 서버를 대상으로 하는 배포와 호스팅 업체를 대상으로 하는 배포에 서로 다른 프로필을 사용할 수 있습니다. 먼저 로컬 서버 프로필을 Release 빌드 구성과 함께 사용하여 릴리스 배포 설정을 사용한 배포가 성공적인지 확인한 다음, 호스팅 업체 프로필을 사용하여 공용 웹 사이트에 대한 게시를 수행할 수 있습니다.

게시 프로필을 만들려면

  1. 빌드 메뉴에서 WebApplication1 게시를 선택합니다.

    다음 그림과 같이 "Profile1"이 기본 프로필 이름으로 사용된 웹 게시 대화 상자가 표시됩니다.

    웹 게시 대화 상자
  2. 게시 방법 드롭다운 목록에서 웹 배포가 선택되어 있는지 확인합니다.

  3. 서비스 URL 상자에 호스팅 업체로부터 받은 값을 입력합니다.

  4. 서비스 URL 상자에 호스팅 업체로부터 받은 값을 입력합니다.

  5. 대상의 추가 파일 유지 옵션의 선택을 취소합니다.

    이 옵션은 초기 배포 후 웹 프로젝트의 파일을 삭제한 다음 프로젝트를 다시 배포하면 호스팅 업체의 서버에 있는 파일도 삭제되도록 지정합니다. 즉, 이 옵션을 설정하면 배포 프로세스에서는 대상 서버의 파일을 동기화하여 배포에 포함된 파일만 반영하도록 합니다.

  6. 대상의 IIS 응용 프로그램으로 표시 확인란을 선택합니다.

  7. 호스팅 업체에서 신뢰할 수 없는 인증서를 허용하도록 권장할 경우 신뢰할 수 없는 인증서 허용 확인란을 선택합니다. 그렇지 않은 경우 이 확인란을 선택이 취소된 상태로 둡니다.

  8. 사용자 이름암호 상자에 호스팅 업체에서 제공한 자격 증명을 입력합니다.

  9. 암호 저장 확인란을 선택합니다.

    암호가 프로젝트 폴더의 .xml 파일에 암호화된 형태로 저장됩니다.

  10. 저장 단추를 클릭하여 프로필을 저장한 다음 대화 상자를 닫습니다.

이제 모든 준비가 완료되었으므로 배포하려면 웹 게시 대화 상자나 한 번 클릭으로 웹 게시 도구 모음의 게시 단추를 클릭하기만 하면 됩니다. 이 연습에서는 게시를 여러 번 수행하므로 배포하려고 할 때 언제든지 게시 단추를 사용할 수 있도록 한 번 클릭으로 웹 게시 도구 모음을 표시된 상태로 두어야 합니다.

응용 프로그램을 배포하고 배포에 성공했는지 확인하려면

  1. 주 도구 모음을 마우스 오른쪽 단추로 클릭하고 한 번 클릭으로 웹 게시가 선택되어 있는지 확인합니다.

    다음 그림과 같이 한 번 클릭으로 웹 게시 도구 모음이 표시됩니다.

    One-Click 게시 도구 모음
  2. 한 번 클릭으로 웹 게시 도구 모음에서 게시 단추를 클릭합니다.

    프로젝트가 호스팅 업체의 서버에 배포됩니다. 또한 다음 그림과 같이 Visual Studio 출력 창에 배포 진행률이 표시됩니다.

    One-Click 게시 후 출력 창
  3. 응용 프로그램을 가리키는 공용 URL로 이동하여 응용 프로그램을 테스트합니다.

    다음 그림과 같이 Default.aspx 페이지가 표시됩니다.

    배포 후 Default.aspx 페이지
  4. 로그인 링크를 클릭합니다.

    다음 그림과 같이 로그인 페이지가 나타납니다.

    로그인 페이지
  5. 사용자 이름에 newuser를 입력하고 newuser 계정을 만들 때 사용한 암호를 입력한 다음 로그인 단추를 클릭합니다.

    Default.aspx 페이지가 다시 표시됩니다. 이번에는 다음 그림과 같이 로그아웃 옆에 환영합니다 newuser!가 표시됩니다.

    로그인 후 Default.aspx 페이지

    이 경우 데이터베이스와 웹 페이지가 성공적으로 배포된 것입니다.

프로젝트를 배포한 후에는 사이트를 변경한 다음 게시 단추를 다시 클릭할 수 있습니다. Visual Studio에서는 변경된 내용을 자동으로 확인하여 해당 내용만 업로드합니다. 그러나 데이터베이스 구조나 데이터의 변경 내용은 자동으로 검색되지 않습니다. Visual Studio에서 데이터베이스 테이블을 다시 만들지 않도록 하려면 해당 확인란의 선택을 취소해야 합니다.

다음 절차에서는 데이터베이스 변경 내용을 포함하지 않고 웹 응용 프로그램을 변경합니다.

응용 프로그램을 변경하려면

  1. About.aspx 파일을 엽니다.

  2. "여기에 내용을 넣으십시오."라는 텍스트를 삭제하고 "WebApplication1을 시작합니다."라는 텍스트를 대신 입력합니다.

  3. 파일을 저장합니다.

이제 데이터베이스 배포 설정을 변경하여 Visual Studio에서 데이터베이스를 다시 배포하지 않도록 합니다.

데이터베이스 배포를 해제하려면

  1. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

    속성 페이지가 표시됩니다.

  2. 웹 패키지 및 게시 탭을 선택합니다.

  3. SQL 패키지 및 게시 탭에서 구성된 모든 데이터베이스 포함 확인란의 선택을 취소합니다.

이제 프로젝트를 다시 배포할 수 있습니다. Visual Studio에서는 변경된 내용을 확인하여 해당 내용만 업로드합니다. 데이터베이스 스크립트는 실행되지 않습니다.

응용 프로그램을 배포하고 배포에 성공했는지 확인하려면

  1. 한 번 클릭으로 웹 게시 도구 모음에서 게시 단추를 클릭합니다.

    변경된 About.aspx 파일이 호스팅 업체의 서버에 배포됩니다. 또한 다음 그림과 같이 Visual Studio 출력 창에서는 배포 중 데이터베이스 스크립트가 실행되지 않았음을 보여 줍니다.

    다시 배포 후 출력 창
  2. 응용 프로그램을 가리키는 공용 URL로 이동하여 응용 프로그램을 테스트합니다.

  3. Default.aspx 페이지에서 정보 탭을 클릭합니다.

    다음 그림과 같이 이전 절차에서 추가한 새 텍스트가 포함된 정보 페이지가 브라우저에 표시됩니다.

    변경된 텍스트를 보여 주는 정보 페이지
    참고참고

    데이터베이스가 배포되지 않았는지 확인할 필요는 없습니다. 데이터베이스에 대한 업데이트를 해제하지 않았다면 스크립트에서 이미 존재하는 개체를 만들려고 시도하기 때문에 두 번째 배포가 실패했을 것입니다.

이 연습에서는 데이터베이스를 사용하는 웹 응용 프로그램을 배포한 다음 데이터베이스 변경 내용을 포함하지 않는 웹 응용 프로그램 변경 내용을 배포했습니다. 일반적으로 수행할 수 있는 다른 배포 작업으로는 다음이 포함됩니다.

  • Web.config 파일에서 데이터베이스 연결 문자열 외의 설정을 변경합니다.

  • 배포된 Web.config 파일에 데이터베이스를 배포하는 데 사용된 것과는 다른 연결 문자열을 추가합니다. 일반적으로 웹 응용 프로그램에서는 사용 권한이 배포 프로세스에 필요한 것보다 적은 자격 증명을 사용할 수 있습니다.

  • 여러 데이터베이스를 배포합니다.

  • 데이터베이스 구조 또는 데이터에 대한 업데이트를 배포합니다.

이러한 작업을 수행하는 방법에 대한 자세한 내용은 연습: 웹 배포 패키지를 사용하여 웹 응용 프로그램 프로젝트 배포(1/4부)를 참조하십시오. 웹 패키지 및 게시SQL 패키지 및 게시 탭의 설정 방법은 One-Click 게시를 수행할 때나 패키지를 사용하여 응용 프로그램을 배포할 때나 모두 동일합니다.

ASP.NET 웹 응용 프로그램 프로젝트를 배포하는 방법에 대한 자세한 내용은 ASP.NET 배포 콘텐츠 맵을 참조하십시오.

표시: