【发布时间】:2018-07-09 17:04:02
【问题描述】:
我看到了一些解决此问题的建议,但没有一个对我有用。
我在运行 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 命令提示符手动运行脚本时,它按预期工作。
干杯。
【问题讨论】:
-
我认为您需要授予 Jenkins 运行 Python 的权限...因为 jenkins 创建了一个名为 jenkins 的用户
-
我认为你是对的。知道我该怎么做吗?有人建议将 *.boto 文件移动到根目录,但我什至看不到 *.boto 文件(Windows 安装)
-
很高兴你让它工作 :) 我没有在 Python 上工作太多所以 *.boto 文件我不知道那是什么......:P
-
谢谢伙计。是的,我也不知道 .boto 文件是什么 :) 认为它与 AWS 相关,所以用那个树叫错了树。干杯。
标签: python jenkins subprocess