좋아요. 그렇기 때문에 나는 지속적인 통합에 관해서는 초보자라는 것을 쉽게 인정합니다.MSBuild - .csproj 파일을 사용하거나 자신의 롤을 사용 하시겠습니까?
필자는 교육 할 수있는 CC.NET 환경을 설정하려고하지만 자동화 된 빌드 부분을 설정하는 데 필요한 정보를 찾는 데 어려움을 겪고 있습니다.
나는 C#에서 VS 2005에서 생성 된 이 유효한 MSBuild 파일 인임을 알고 있습니다. 재치에, 나는 .csproj 파일을 사용 CC.NET에 MSBuild 작업을 통합 할 수있게했지만, 난 이걸로 몇 가지 문제가 있습니다
내가 아니에요 여기에서 일어나는 많은있다- 자동화 된 빌드 환경에서 정말로 필요합니다.
- 이 파일을 만들지 않았습니다. 나는 그것을 이해하지 못한다. 그리고 그것은 나를 두려워한다. (Programming By Coincidence)
- MbUnit 같은 것을 포함하는 파일을 수정, 1, 2, 3의 결과로
$(MSBuildToolsPath)\Microsoft.CSharp.targets
- 를 통해 추상화 될 것으로 보인다 무엇 벌어지고있는 대부분의 것하고보다해야 회선 더 어려워 . 내 유일한 옵션은
AfterBuild
섹션에 포함시키는 것입니다.이 섹션은 나에게 해킹과 비슷합니다.
그래서 CC.NET 직원, MSBuild 직원 및 MbUnit 사람들에게 몇 가지 질문이 있습니다.
- MSBuild를 사용하는 경우 VS 생성 .csproj 파일을 빌드 파일로 사용하는 것이 좋습니다? 아니면 내가 직접 만들어야 하나?
- MbUnit 테스트는 MSBuild 파일 또는 CC.NET 파일에 속해야합니까? 저의 연구는 MSBuild 파일에 속한다고 제안합니다. 그렇다면 새 MSBuild .proj 파일을 만들고 .csproj 파일 외에도 CVS로 체크인합니까? 또는 MbUnit 작업이 내 .csproj 파일의 일부가됩니까?
- 질문 2와 유사합니다. MSBuild 파일에 MbUnit 테스트를 추가하고 .csproj 파일을 사용하면 결국
Target Name="AfterBuild"
이 해당 정보를 추가하는 섹션이됩니까?Target Name="Test"
섹션이 있으면 안됩니까? VS 생성 된 .csproj 파일을 사용하여 두 번째 옵션을 방지 할 것으로 보인다.
나는 거기에 많은 것을 알고 있지만, 온라인에서 찾을 수 있었던 대부분의 것들은 내가 갖고 있지 않은 주제에 대해 일정 수준의 친숙 함을 전제로합니다. 이 물건에 대한 학습 곡선은 전혀 곡선이 아니며, 그것은 단계 기능입니다. :)
편집 1 : 텍스트를 좀 더 간결하게 업데이트하고 내가 갖고있는 몇 가지 문제를 해결했습니다.
.csproj 파일과 함께 새로운 .proj 파일을 CVS에 체크인합니까? 또는 빌드 서버 및 소스 제어 환경 외부에서만 살고 있습니까? 내 성향은 그것을 조사하는 것이지만 모범 사례가 있다면, 나는 그것을 따르고 싶습니다. – jerhinesmith
** 모든 것이 체크인됩니다. TeamCity 빌드 서버를 여러 빌드 에이전트와 함께 사용합니다. 빌드 서버는 2 개 (ok 이상 2 개)의 것을 알고 있습니다. 소스 (cvs/svn/vss/etc)와 빌드를 수행하는 파일은 어디에 있습니까? (저 batery는 저장해야한다) –
이것은 내가 또한 사용하는 방법이다. 각 프로젝트 (웹 사이트, 웹 응용 프로그램, 응용 프로그램, 확장 프로그램 등)마다 Subversion에 자체 저장소가 있습니다. 하나 이상의 .proj 파일과 .proj 파일을 포함하는 자체 .sln 파일입니다. .sln 파일은 VS 및 쓰기/디버그 코드에서 모든 것을 열 수 있도록하기위한 것입니다. .proj 파일은 CruiseControl 또는 TeamCity가 지속적인 통합을 수행 할 수있게합니다. –