2010-01-06 4 views
2

NANT를 사용하여 s/w CCtray를 사용하여 서버에 코드를 배포하고 있습니다. 가끔이 오류가 발생하지만 관리자에 따라 vst가 작동하는 것처럼 보입니다. 그는 왜이 오류를 말하는지 알 수없고 어느 것도 수행하지 않습니다. 이 정보 이외의 다른 정보는 로깅하지 않기 때문에 알 수 없습니다. 누구든지 이런 종류의 오류에 직면 해 있습니다. 그렇다면 어떻게 해결 했습니까? 또는이 오류가 발생할 수있는 옵션은 무엇입니까?1800 초 후에 NANT 프로세스 시간 초과가 발생했습니다.

앨리스는 빌드 (ForceBuild)

+0

스택 트레이스를 얻을 수 있습니까? 그렇다면 게시하십시오. –

+0

실제로 실패 할 때 실제로 스택 추적을 얻지 못합니다. 문제가 있습니다. – alice7

답변

0

CCTray이 CCNet에 딱 Windows 기반 모니터이기 때문에 나는, 당신이 CCNet에 배포하는 의미 가정을 트리거.

빌드 스크립트에서 다양한 간격으로 디버깅 문을 작성하여 빌드의 어느 부분에서 실패했는지 정확하게 알 수 있어야합니다.

컴퓨터 나 빌드 서버에서 수동으로 실행하면 어떻게됩니까?

+0

내 빌드 스크립트에서 디버깅 문이 있습니다. 그것은 보고서 페이지에서 무언가를하는 것을 의미하는 렌더링이지만, 마지막으로는 NANT 프로세스 시간이 초과되었다는 것을 알려줍니다. – alice7

+0

질문에 대답하기 위해 시간 초과되는 빌드 스크립트의 섹션을 격리하고 게시해야합니다. –

+0

사실 빌드 스크립트의 어느 부분이 시간 초과되는지 알 수 없습니다. 단지 예외 시간이 초과되었음을 알려주는 것입니다. 그리고 빌드 스크립트에서 조회하는 대상에 대한 로깅이 없습니다. 내 가정은 느린 n/w로 인해 코드를 배포하려고 할 때 중간에 실패 할 경우 아무 것도 기록하지 않고 예외가 발생한다는 것입니다. – alice7

3

예, 특히 CruiseControl .net 연속 통합 서버에서 NAnt 빌드 스크립트로 큰 프로젝트를 빌드 할 때이 작업을 수행했습니다.

이 수정 프로그램은 C : \ Program Files \ CruiseControl.NET \ server \ ccnet.config 파일에서 이와 같은 작업을 수행하여 기본 CruiseControl 시간 초과 (1800 초)를 무시해야한다는 점에서 매우 쉽습니다.

<tasks> 
    <nant> 
     <baseDirectory>c:\your-folder\your-system</baseDirectory> 
     <buildFile>your-system.build</buildFile> 
     <buildTimeoutSeconds>2400</buildTimeoutSeconds> 
    </nant> 
</tasks> 

이 다음 프로세스에 더 많은 시간을 구입하지만 (비정상적으로) 너무 오래 계속하면 여전히 CruiseControl을에게 프로세스를 죽이는 싸울 기회를 제공합니다.

좋다?

관련 문제