2009-02-01 2 views
4

간단한 질문. Visual Studio를 사용하고 방금 Subversion을 설치했습니다. 어떻게 프로젝트를 강제로 msbuild로 빌드 할 수 있으며, 성공적으로 빌드하면 다른 사용자에게 경고합니다. 그들은 TortoiseSVN 또는 VisualSVN 또는 AnkhSVN (그것이 무엇이든간에) 그들은 빌트인 커밋에 빌드를 강제하는 능력이 있다면 (나는 이것이 그들의 용도가 아니라는 것을 알고, 나는 단지 SVN에 커밋을위한 GUI로 사용된다는 것을 알고있다) 나는이 도구 중 하나가이 여분의 일을하는 데 사용될 수 있는지 알고 싶습니다.서브 버전으로 커밋시 빌드

끝내기 전 단지 전복을 저지르기 전에 빌드하기에 고통스러운 방법을 찾고 있습니다.

+0

쿨 아이디어와 멋진 솔루션 : – Leonidas

답변

6

TeamCity의 "pre-tested commit" a.k.a "delayed commit" a.k.a "private build" feature을 살펴보십시오.

간단히 말해 TeamCity에 "커밋"하면 TeamCity가 빌드를 확인하고 빌드가 통과 될 때만 실제 리포지토리에 커밋합니다. 그렇지 않다면 그렇게 말하게됩니다. 이점은 트렁크가 이 아니며이 깨진 것입니다. 그것에 대해 자세히 알아 보려면 여기를 클릭하십시오. https://confluence.jetbrains.com/display/TCDL/Pre-Tested+(Delayed)+Commit

+0

+1, 팀 도시는 중대하다 할 수있다! – CMS

+0

이 프로세스를 실제로 구현하는 방법을 알려주십시오. As Link는 디자인 정보를 제공합니다. – sam

4

TortoiseSVN에는 client-side hook scripts이 있습니다. 예를 들어, 빌드를 수행하는 스크립트를 작성할 수 있으며 빌드가 성공적이면 true 만 리턴합니다. 그런 다음 해당 스크립트를 사전 커밋 훅 (pre-commit hook)으로 추가하십시오.

4

CruiseControl, Hudson 또는 다른 지속적인 통합 도구를 사용할 수도 있습니다.

이들은 백그라운드에서 실행되고 변경 사항을 살펴본 다음 빌드 할 수 있습니다.

2

스테판이 제안한 방법이 잠재적으로 당신에게 가장 좋은 것으로 보입니다.

당신이 얻으려는 것에 따라 대안은 일종의 자동 연속 통합과 함께 실행될 수 있으므로 커밋이 만들어 질 때마다 빌드/테스트가 실행될 것이고 문제가 발생하면 경고 또는 뭐든간에. Visual Studio를 사용하여 .NET을 사용하는 것으로 추측하므로 CruiseControl을 살펴볼 가치가 있습니다.

1

나는 this이 SVN을 사용하기 때문에 효과가있을 것이라고 생각합니다.

mausch가 제안한 CI 서버와 비슷합니다. 이 경우 TeamCity가 청구서에 부합합니다.

하지만 CI 서버와 함께 제공되는 모든 종소리와 호루라기가 필요할 수도 있습니다. 그러면 죄는 당신을 위해 일할 것입니다. 시간이 있으시면 out을 확인하십시오!

2

글쎄, 당신은 또한 당신이 특별한 도구에 대해 지불 할 수없는 경우 educate your co-workers ...

관련 문제