2012-03-05 5 views
2

나는 Sonar를 설정했으며 야간 빌드의 일부로 코드 분석을 실행하려고합니다.CCNET을 사용하여 특정 위치에서 .bat 파일 호출

야간 빌드를 설정했지만 소나 러너를 실행하는 데 문제가 있습니다.

코드 분석을 실행하려면 주 솔루션 폴더 내에 \ BuildAssets라는 폴더를 만들었습니다. 코드 분석을 수동으로 실행하려면 \ BuildAssets 내에 명령 프롬프트를 열고 실행하십시오. %SONAR_RUNNER_HOME%\Bin\sonar-runner.bat

어떻게 이것을 CCNET에 설정합니까?

<exec> 
    <executable>%SONAR_RUNNER_HOME%\bin\sonar-runner.bat</executable> 
    <baseDirectory>BuildAssets</baseDirectory> 
    <buildTimeoutSeconds>$(slowBuildTimeout)</buildTimeoutSeconds> 
</exec> 

하지만 나는 또한 시도 c:\cc\myBuild\code\BuildAssets\%SONAR_RUNNER_HOME%\bin\sonar-runner.bat

실행하기 때문에이 작동하지 않습니다 :

나는 시도했다

<exec> 
    <executable>cmd</executable> 
    <baseDirectory>BuildAssets</baseDirectory> 
    <buildArgs>%SONAR_RUNNER_HOME%\bin\sonar-runner</buildArgs> 
    <buildTimeoutSeconds>$(slowBuildTimeout)</buildTimeoutSeconds> 
</exec> 

그러나 이것은하지 않는 것 아무것도해라. 나는 그것이 꽤 쉽다라고 확신하지만 CCNET 설정에 정통하지 않다.

답변

3

나는 빌드 인수 요소에서 /C 누락, 그래서 나는 작업이있어 ​​:

<exec> 
    <executable>c:\Windows\System32\cmd.exe</executable> 
    <baseDirectory>BuildAssets</baseDirectory> 
    <buildArgs>/C %SONAR_RUNNER_HOME%\bin\sonar-runner</buildArgs> 
    <buildTimeoutSeconds>$(slowBuildTimeout)</buildTimeoutSeconds> 
</exec> 
0

SONAR_RUNNER_HOME이 환경 변수라고 가정합니다. 그렇다면 $(SONAR_RUNNER_HOME)과 같이 참조해야합니다.