2008-09-16 6 views
1

각 개발자가 로컬 데스크톱에서 작업하고 네트워크에서 소유 한 가상 컴퓨터에 배포하는 팀 환경에서 작업하고 있습니다. 내가 뭘 하려는지 Visual Studio 솔루션을 설정하여 솔루션을 빌드 할 때 각 프로젝트 배포가 빌드 이후 이벤트에서 해당 개발자의 가상 컴퓨터로 처리되도록해야합니다.팀 환경에서 Visual Studio 게시 빌드 배포를 수행하는 가장 좋은 방법은 무엇입니까?

내가하고 싶은 것은 개별 개발자에게도 스크립트의 소유권을 부여하여 게시 빌드 단계를 소유하고 모든 사람에게 동일하지 않아도된다는 것입니다.

몇 가지 질문 :

  • 는 이후 빌드 이벤트 배포 작업의 유형을 실행하는 곳인가? 그렇지 않은 경우 가장 좋은 장소는 무엇입니까?
  • 이러한 시나리오를 지원하는 자동 배포 시스템을 개발하는 데 도움이되는 소프트웨어, 도구 또는 자습서/블로그 게시물은 무엇입니까?

편집 :은 MSBuild에서이 상황에서 갈 수있는 방법이 될 것으로 보인다. 누구나 성공한 대체 기술을 사용하십니까?

편집 :이 질문을 읽고 각 개발자마다 다른 일련의 MSBuild 작업을 실행하는 방법에 대해 궁금한 점이 있으시면이 질문을 참조하십시오. 나중에 비주얼 스튜디오 2005 또는를 사용하는 경우 내가 MSBuild에서 또는 ANT

답변

1
+0

우리는 스테이징 및 테스트를위한 공통 환경을 갖지만, 개발자가 각 빌드마다 서로 배치하는 것을 원하지는 않습니다. 그러나 나는 그들에게 Windows 2k8, SQL, MOSS 등을 설치하지 않고도 작업 할 수있는 실제 서버를 제공하려고합니다. MSBuild는 아마도 우리에게 옳은 대답 일 것입니다. –

+0

적어도 하나의 환경에서 항상 실행중인 모든 파트의 합계가 있도록 CI 도구를 사용하는 것이 좋습니다. 그런 다음 자동화 된 테스트를 수행 할 수도 있습니다. – NerdFury

+0

왜 개발자들이 서로 배포하는 것에 관심을 갖고 있는지 잘 모르겠습니다. 소스 컨트롤을 사용하는 경우 모두 동일한 코드에서 빌드하면 안됩니까? 그리고 그들은 체크인되지 않은 코드를 배포해서는 안됩니다. – lordscarlet

1

는 프로젝트 파일은 MSBuild 파일입니다. MsBuild 파일에는 "AfterBuild"대상이 있습니다. 게시물 작성 이벤트 대신이 작업을 사용하여 배포 작업을 수행하는 것이 좋습니다.

MSBuild 작업을 사용하면 CruiseControl.NET 또는 Team City와 같은 Continuous Integration 시스템으로 이동할 준비가 된 것입니다.

모든 개발자가 자신의 가상 머신을 갖고 있는지 확실하지 않습니다. 어느 시점에서 모든 개발자가 작업 할 수있는 중앙 위치를 원할 것입니다. 모든 개발자의 코드가 통합되어 빌드되도록하십시오. (이것이 Continuous Integration 시스템을 사용하는 이유입니다). CruiseControl.Net 또는 Team City 또는 다른 여러 선택 사항 중 하나가이 시나리오에서 도움이 될 수있는 방법을 찾을 수있을 것입니다. 그러나 초기 설정을 얻는 한 MSBuild를 사용하십시오.