테스트 프로젝트 (TestProjectA : NUnit을 포함한 시스템 테스트 포함)가 포함 된 테스트 솔루션 (TestSolutionA)이 있고 테스트 프로젝트가 해당 프로젝트의 클래스 중 일부를 읽어야하기 때문에 다른 기존 프로젝트 (ProjectB)에 대한 참조가 있습니다. EmailHelper로. TFS에서TeamCity를 구성하여 프로젝트를 내보내는 대신 즉시 구축하는 방법은 무엇입니까?
폴더 구조 :
*Root
**Tests
***References
***TestSolutionA
****TestProjectA
**ClassLibraries
***ProjectB
참조 폴더 등 TestProjectA 의해 사용되는 등 NUnit.dll 같은 어셈블리를 포함한다.
이제 TeamCity가 TestSolutionA를 빌드하고 TestProjectA의 테스트를 실행하도록 구성했습니다. 즉, TestSolutionA가 빌드되면이 솔루션에서 참조 된 모든 파일과 폴더가 "체크 아웃 디렉토리"로 체크 아웃 된 다음 솔루션이 빌드됩니다.
문제는 ProjectB의 모든 파일과 폴더를 TeamCity 서버로 체크 아웃/체크 아웃하고 다시 빌드해야하기 때문에이 테스트 솔루션이 느리게 생성된다는 것입니다. ProjectB의 DLL 만 필요합니다. 그 안에있는 모든 파일/클래스.
더 많은 외부 프로젝트가 관련 될 때 문제가 더 많이 나타납니다.
테스트 프로젝트가 외부 프로젝트를 참조해야하는 시나리오에서 빌드 속도를 높이는 더 좋은 해결책이 있습니까? 예 : 프로젝트를 체크 아웃하는 것보다는 TeamCity Server로 내보내는 것만 큼 신속하게 어셈블리를 구축 할 수 있습니다.
확실하지 않습니다.
희망 사항은 분명합니다.
감사합니다,
감사하지만 어떻게 .csproj 파일을 작성하는 :
인 TeamCity 문서의 일부 유용한 링크는 무엇입니까? TeamCity는 UI에 의해서만 판단 할 수있는 .sln 파일을 작성할 수 있습니다. 솔루션없이 프로젝트를 빌드하는 방법을 모르겠습니다. –
ProjectB를위한 새로운 솔루션을 만들 수 있습니까? –
아쉽게도 "Visual Studio (sln)"러너 유형을 .csproj 파일로 빌드 할 수 있으므로 빌드를위한 새 단계를 작성 했으므로 이제는 DLL이 빌드됩니다. 남아있는 유일한 부분은 TestSolutionA의 bin 폴더로 해당 dll을 이동하는 것입니다. 방법을 모르겠다. –