来自Jenkins我需要运行一个Python脚本:
- 获取一些版本
- 设置一些变量(即@set TOOL_ROOT = C:/ gccnew / powerpc-ibm-eabi
@set path =%TOOL_ROOT%/ bin;%path%)
-run make -f makeFile clean all .....
我需要知道它是否失败并让詹金斯知道它。
我一直在看Popen和subprocess.check_output,但它们似乎不起作用:
cmd = """
@echo off &
@set TOOL_ROOT=C:/tool &
@set path=%TOOL_ROOT%/bin;%path% &
"""
#print cmd
makeCommand = cmd + "make -f makefile clean all strip"
# Run make file
makeResult = subprocess.check_output( makeCommand, shell=True)
如何设置变量,运行变量并获得合理的输出,让我知道它是否失败?
感谢。
答案 0 :(得分:0)
Jenkins构建步骤期望从过程返回的零值成功,并且失败为非零值。
只要退出批处理文件,其中0表示成功,1表示错误,Jenkins将知道如何结束。
在批处理文件中,调用流程的结果位于%ERRORLEVEL%变量中。
您可以在文件中的最后一个命令后添加退出%ERRORLEVEL%。
请注意,这将仅返回最后一个命令的结果。你应该在检查你运行的所有进程时加入一些逻辑。
我希望这会有所帮助。