詹金斯不会执行python子进程

时间:2018-07-09 17:04:02

标签: python jenkins subprocess

我已经看到一些解决此问题的建议,但没有一个对我有用。

我在运行Windows10的笔记本电脑上本地安装了Jenkins。我已经缩小了范围,确实是我的python脚本中调用subprocess.run方法的这一行。 Python脚本执行到那时为止,因此我知道该脚本是从Jenkins作业中调用的。

这似乎是其他文章中建议的权限错误。但是,我不确定我还能做什么。我以管理员身份登录Windows,这不是问题。

Jenkins作业正以Jenkins管理员用户身份运行,所以我不确定还能做什么?

控制台输出:

17:39:21 Started by user admin
17:39:21 Building in workspace C:\Program Files (x86)\Jenkins\workspace\loadrunner_test
17:39:21 [loadrunner_test] $ cmd /c call C:\WINDOWS\TEMP\jenkins2453008242502676618.bat
17:39:21 
17:39:21 C:\Program Files (x86)\Jenkins\workspace\loadrunner_test>cmd /C C:\Python365\python.exe C:\PythonProjects\cicd_loadrunner\cicd_loadrunner.py 
17:44:42 Error:  <class 'subprocess.TimeoutExpired'>
17:44:42 
17:44:42 C:\Program Files (x86)\Jenkins\workspace\loadrunner_test>exit -1 
17:44:42 Build step 'Execute Windows batch command' marked build as failure
17:44:42 Finished: FAILURE

当尝试执行subprocess.run方法时,它只是挂起,然后最终超时。

当我使用Windows命令提示符手动运行脚本时,它会按预期运行。

干杯。

1 个答案:

答案 0 :(得分:0)

最后到达那里。我必须创建一个具有本地管理员权限的新Windows用户,名为JenkinsUser。然后,我进入Jenkins.exe服务,并使用新用户JenkinsUser运行Jenkins。