You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker环境下配置Jenkins运行Python脚本的路径问题排查

Jenkins + Docker环境运行Python脚本的问题排查与解决

问题背景

在Docker环境下使用Jenkins搭配Python 3运行file.py脚本,已在变量中指定文件精确路径,但Jenkins始终找不到对应目录。尝试过变量配置、Python插件均无效,照搬网上的Windows命令(SET PATH = %your_path_name% python your_file_location\filename.py)也没用,控制台报错如下:

FATAL: command execution failed
java.io.IOException: error=2, No such file or directory
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:340)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:271)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)

Caused: java.io.IOException: Cannot run program "cmd" (in directory "/var/jenkins_home/workspace/wqw"): error=2, No such file or directory

已知可以从GitHub拉取脚本,但想明确问题成因及正确解决方法。

后续更新:执行shell命令PATH=$Path1后构建成功,但疑惑该操作仅指向目录,并未运行文件中的代码,控制台输出如下:

Started by user USER
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/dede
[dede] $ /bin/sh -xe /tmp/jenkins4966087103275671986.sh
+ PATH=C:\Users\USER\PycharmProjects\pytest\test_demo.py 
Finished: SUCCESS

问题成因

  1. 环境不匹配:Jenkins运行在Docker容器中,容器默认是Linux系统,但你用了Windows的cmd命令和Windows格式的路径(C:\...)。Linux系统中没有cmd.exe,且路径分隔符是/而非\,导致Jenkins无法识别命令和路径。
  2. 错误的操作逻辑:最后执行的PATH=$Path1只是修改了系统环境变量PATH,根本没有调用Python去执行脚本,所以构建会“成功”,但完全没有运行代码逻辑,属于无效操作。

解决方法

  1. 适配Linux环境语法:放弃Windows命令,使用Linux Shell命令执行脚本:
    • 如果脚本已经存在于Jenkins容器的工作目录(/var/jenkins_home/workspace/你的项目名),直接用相对路径执行:
      python3 file.py
      
    • 如果脚本在容器内的绝对路径是/xxx/xxx/file.py,直接指定路径执行:
      python3 /xxx/xxx/file.py
      
  2. 确保脚本在容器内可达:
    • 如果你想运行本地Windows机器上的脚本,需要把脚本挂载到Jenkins容器中(比如启动容器时用-v /本地Windows路径:/容器内路径参数,注意Windows路径要转成Docker支持的格式,比如/c/Users/USER/PycharmProjects/pytest/test_demo.py:/var/jenkins_home/workspace/dede/test_demo.py)。
    • 或者从GitHub拉取脚本到Jenkins工作目录后再执行,这也是更规范的做法。

内容的提问来源于stack exchange,提问作者Jan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:35:17