2

TeamCity 빌드에 문제가 있습니다. 프로젝트를 로컬로 빌드 할 때 올바르게 컴파일되지만 TeamCity가 실행되면 빌드가 오류 Build failure condition: Process exited with code 1과 함께 실패합니다.TeamCity 모호한 빌드 오류

나는이 동일한 실패 조건을 가진 두 개의 개별 프로젝트가 있으며 문제 진단을 시작할 방법조차 모릅니다. 한 프로젝트는 Visual Studio 2010을 통해 생성 된 C# 라이브러리입니다 (그리고 VS Solution을 사용하여 해당 프로젝트를 컴파일합니다). 다른 프로젝트는 Xamarin Studio를 사용하여 수행됩니다. 비주얼 스튜디오 또는 명령 중 하나를 통해 로컬에서 컴파일 할 때

"C:\Program Files (x86)\Xamarin Studio\bin\mdtool.exe" build 
"--project:MyProject" 
"%teamcity.build.checkoutDir/MySolution.sln" 

두 프로젝트는 (빌드 에이전트에 컴파일 다음 자 마린 스튜디오 코드를 컴파일하는 단계를 구축

라인 (줄 바꿈 무시)를 사용 라인 명령). 내가 빌드 에이전트를 실행 (즉, 서비스 실행)하여 빌드 구성을 로컬로 실행하고 거기에서 테스트 할 수있는 방법이 있습니까?

답변

2

오류는 MSBuild 프로세스의 반환 값일뿐입니다. 빌드 프로세스를 디버깅하려면 빌드 러너와 같은 방식으로 실제 환경에서 실행해야하며, 개발 환경에서 로컬 디버그 빌드를 수행하지 않아야합니다. here 단계를 따라 MSBuild 로깅을 길게 늘리고 나중에 검사 할 수있는 위치에 저장하십시오.

응용 프로그램이 상당히 복잡하거나 많은 종속성이있는 경우 빌드 스크립트를 작성하거나 프로젝트 파일을 편집하는 데 몇 시간을 소비해야 할 것입니다. 빌드 스크립트를 작성하는 경우 TC에서 빌드 태스크를 변경하여 빌드 스크립트를 실행하십시오. 프로젝트 파일을 편집하면 로컬 디버그 빌드에 영향을 줄 것이므로 일반적으로 TC와 함께 사용한 방식입니다.

+0

Visual Studio 프로젝트의 경우 NUnit가 올바르게 실행되지 않는다는 오류가 발생합니다. –

+0

참고 : 원래 참고 사항입니다. Xamarin Project에 대한 파일이 누락되었습니다 ... 그 파일에 대해서는 멍청한 느낌입니다. Visual Studio 프로젝트의 경우 NUnit이 제대로 실행되지 않는다는 오류가 있습니다. 오류는 어셈블리가 없습니다. 현재 NUnit 테스트를 실행하기위한 빌드 단계가 있습니다. % teamcity.build.checkoutDir % \ ** \ *. dll을 가리 킵니다. 이 단계가 없으면 모든 것이 작동합니다. –

+1

@BlazePhoenix 그래, 고칠 정도로 나쁘지 않아야합니다. 그것도 몇 가지 밀접하게 관련된 문제 중 하나입니다; 1) NUnit 테스트 러너가 올바르게 호출되지 않았습니다 (즉, 테스트 픽스처/케이스를 포함하는 DLL에 대한 올바른 경로로). 2) 테스트 러너가 빌드 시스템/드롭 위치에 전혀 없습니다. 3) NUnit 테스트 러너에 대한 경로와 같은 이전 두 가지는 TC 빌드 단계에서 잘못되었거나 로컬 시스템에서 ENV Vars의 일부이며 빌드 시스템에 있지 않아 찾을 수 없습니다. – evanmcdonnal