문제

나는 단일 사용자 조치로 응용 프로그램이 배포되도록해야한다는 것을 알고 있습니다. 그러나 나는 ~하지 않다 알다:

  1. .NET 상점에서 사용하기에 좋은 도구는 무엇입니까?
  2. 각 환경에 대한 구성 변경을 어떻게 관리합니까?

누군가가 지속적인 통합을위한 좋은 자원을 저에게 지적 할 수 있습니까? 단계별 실용 가이드뿐만 아니라 몇 가지 이론을보고 싶습니다.

편집하다:
지금 당장 웹 배포를 자동화해야합니다. 그러나 데스크탑 앱의 경우이 작업을 수행하는 방법도 배우고 싶습니다.

도움이 되었습니까?

해결책

도움이 될 수있는 블로그 게시물을 썼습니다.

Visual Studio 웹 배포 프로젝트

1 년 반이되었지만 VS를위한 새로운 (그 당시) 프로젝트 템플릿과 MSDEPLOY라는 IIS 팀의 명령 줄 유틸리티에 대해 이야기했습니다. 그들은 정말 유망한 소리를 냈으며 다중 빌드 구성을 타겟팅하고, 농장에서 여러 서버를 동기화하고, 웹 사이트 배포의 실제 출력에 대해 더 많은 제어에 이상적이라고 생각합니다.

아마도 지금까지 기술도 성숙해 졌을 것입니다.

다른 팁

우리는 큰 성공을 거두었습니다 Windows Installer XML. 기본적으로 XML에서 응용 프로그램을 구성하는 구성 요소를 정의하고 Wix는이를 MSI 패키지로 바꿉니다. 문서화는 상대적으로 드물지만 검색 FU와 결합 된 제공된 CHM 파일은 먼 길을 갈 수 있습니다.

MSI 패키지는 구성 값에 대한 입력 매개 변수를 가져 와서 응용 프로그램이 배포 된 후 구성 파일을 조작하기위한 작업을 수행 할 수 있습니다. 예를 들어, "msiexec /i mycustompackage.msi sqlserver = somesqlbox"는 웹 응용 프로그램을 배포하고 종속 SQL 상자의 구성 항목을 수정할 수 있습니다.

시각적 빌드 프로 Kinook의 것은 원 클릭 배포를위한 아주 좋은 도구입니다. 사용하기 쉽고 많은 기능이 있습니다. 나는 그것을 몇 년 동안 사용해 왔습니다. 물론 Nant도 있습니다.

구성 변경을 관리하는 한 배포 환경을 나타내는 확장자를 사용하여 여러 구성 파일을 관리 한 다음 빌드 스크립트 내의 단계로 간단한 이름을 변경합니다.

예를 들어, 테스트하도록 배포하는 경우 web.test.config라는 구성 파일이있을 수 있습니다.

TeamCity와 웹 배포 프로젝트를 사용하여 매우 자세한 블로그 게시물을 작성하여 여기에서 빌드 및 배포를 자동화합니다.

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

그런 다음 FTP 추가를 보여주기 위해 이것에 추가했습니다.

http://www.diaryofaninja.com/blog/2010/09/21/continuous-integration-tip-ftp-floplyment

기본 프로세스 흐름은 매우 간단합니다.

  • TeamCity 빌드 서버 사용 SVN Repo에서 다운로드
  • 빌드 서버의 로컬 폴더에 사이트를 빌드하고 배포합니다.
  • 나는 스크립팅을 지원하는 명령 줄 ftp 클라이언트를 발사합니다.
  • MSBuild Task Exec (http://winscp.net/)를 사용한 WinSCP
  • 내 모든 사이트 콘텐츠를 업로드하십시오
  • 음료 삽입]을 선택하십시오

그런 다음 SVN Repo의 트렁크 만 배포하고 병합하기 전에 지점의 모든 것을 개발하고 테스트하는지 확인하십시오.이 방법으로 테스트 된 물건 만 배포됩니다. 빌드주기에 자동 테스트를 추가하면 천국에서 일치하는 것이 있습니다.

갈 수있는 훌륭한 무료 도구는 다음과 같습니다.

두 가지 다른 질문이 있습니다.

  • 배포의 경우 : ClickOnce 배포가 수행해야합니다. 빌드 메뉴> 게시에서 vs.net에 들어가서 데스크탑 응용 프로그램을 게시하면됩니다. vs.net은 웹 페이지와 setup.exe를 컴파일합니다. IE 또는 Firefox 및 .NET 3.5 SP1을 가진 사용자가 링크를 클릭하면 즉시 실행됩니다. Clickonce는 또한 귀하를 위해 업데이트를 처리하며 개발할 광범위한 API가 있습니다.
  • 지속적인 통합은 매우 다른 것입니다. 'cruisecontrol.net'을 위해 Google에 대한 Google과 최대한 많은 리소스를 다운로드하여 시험해 볼 것을 제안합니다. 기본적으로 빌드 서버이지만 테스트를위한 Nunit 등 SVN과 연결할 수 있습니다. 나는 그러한 휘발성 제품을 위해 책을 사는 것을 제안하지 않을 것입니다. 다운로드하고 시도해 보는 것이 가장 좋습니다.

CruiseControl.net 연속 정보 용화 솔루션을위한. 배포의 경우 MSBuild 프로젝트 파일을 사용합니다. 그 상단에서는 모든 서버 구성 파일을 유지합니다. 매개 변수를 통해 MSBuild로 전달하여 Server 속성을 사용하여 MSBUILD에 사용할 값을 사용한 다음 배포를 완료합니다. Cruisecontrol에서 바로 수행 할 수없는 유일한 배포는 라이브 서버에 대한 것입니다. 우리는 그 명령 줄 msbuild를 남겨 두므로 실수로 버튼을 누르지 않거나 CC.NET 웹 대시 보드에 액세스 할 수있는 사람이 그냥 재생합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top