jenkins里使用python脚本时,
如果在python脚本里使用了os.system("cmd"),或使用了subprocess.run("cmd"),
那么在jenkins执行脚本的时候,貌似会优先执行这些命令,
例如:
print("111")
print(os.system("echo 222"))
在jenkins上输出结果为:
222
111
出现这种情况,可以使用:
cmd = subprocess.Popen("cmd", stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = cmd.communicate()
# 获取返回状态码,0是正常,1是出现错误
cmd.returncode
# 获取输出结果或错误,下面的gbk可以不填,不填就是utf-8了,如果文件开头是gbk,那么在括号内一定要填gbk
print(stdout.decode("gbk"))
print(stderr.decode("gbk"))