2014-06-09 1 views
0

일부 버전을 처리하고 make 파일을 실행하는 Python 스크립트가 있습니다. 내가 cmd를 윈도우에서 실행하면 내가 젠킨스에서 실행하는 경우 (대기 반면에) 잘 작동 1.Python Popen wait()는 Jenkins에서 실행할 때만 1을 반환합니다.

rslt = subprocess.Popen("build.bat", shell=True) 

if rslt.wait() != 0: 
    print "exiting " + str(rslt.wait()) 
    exit(1) 

모든 단서를 반환?

감사합니다.

답변

1

스크립트가 build.bat을 포함하는 동일한 디렉토리에서 실행되는지 확인하십시오.

os.getcwd()의 반환 값을 인쇄하면 스크립트가 실행되는 디렉토리를 확인할 수 있습니다.

import os 
print os.getcwd() 
+0

동일한 디렉토리에서 실행 중입니다. getcwd()에 의해 확인되었습니다. 그것은 명령 창에서 실행하지만 젠킨스가 아닌 경우 작동합니다. –

+0

@Oscar_Mariani,'build.bat'의 내용은 무엇입니까? – falsetru

+0

'@echo off @set TOOL_ROOT = C :/build_tools/.... @set path = % TOOL_ROOT %/bin echo. cd C : \ someDIr \ workspace make -f makeFile 클린 ' –