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

如何通过Maven在Jenkins中执行本地存储的Python脚本

Jenkins通过Maven执行本地Python脚本操作指南

前置校验(做配置前先确认,避免白忙活)

  • 路径可达性校验:如果Jenkins和你存脚本的是同一台机器,直接记好脚本的绝对路径即可;如果Jenkins部署在远程服务器/容器里,必须先把脚本所在目录挂载/拷贝到Jenkins节点能访问的位置,远程Jenkins没法直接读取你个人电脑本地磁盘的文件。
  • 环境校验:Jenkins运行节点上提前装好JDK、Maven、Python,三个组件的环境变量配置完成,在Jenkins「全局工具配置」页面绑定好JDK、Maven的安装路径,避免执行时提示找不到命令。

方案1:通过Maven exec插件绑定执行(推荐,和Maven生命周期强绑定,流程规范)

  1. 打开Maven项目根目录下的pom.xml,在<build><plugins>节点下添加exec插件配置,示例如下:
<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>3.1.0</version>
  <executions>
    <execution>
      <id>run-local-python</id>
      <!-- 绑定到Maven生命周期阶段,比如编译后执行填compile,测试阶段执行填test,打包前执行填prepare-package -->
      <phase>test</phase>
      <goals>
        <goal>exec</goal>
      </goals>
      <configuration>
        <!-- 配置Python可执行文件路径,Windows填python.exe全路径,Linux/Mac填python3全路径,环境变量配好的话可以直接写python/python3 -->
        <executable>python</executable>
        <arguments>
          <!-- 替换成你本地Python脚本的绝对路径 -->
          <argument>/your/absolute/path/to/target_script.py</argument>
          <!-- 脚本需要传参的话,按格式新增<argument>参数值</argument>即可 -->
        </arguments>
      </configuration>
    </execution>
  </executions>
</plugin>
  1. 登录Jenkins新建Maven类型任务,在构建配置项里填写:
    • 根POM路径:指向你项目的pom.xml文件位置
    • 目标命令:和你前面绑定的生命周期阶段对应,比如绑定在test阶段就填clean test
  2. 保存配置后直接触发构建即可,Python脚本的输出会直接打印在构建日志中,脚本执行返回非0状态码时,Maven构建会自动标记为失败,符合CI流程的状态判断逻辑。

方案2:构建步骤直接组合命令(不需要改pom.xml,适合临时执行场景)

  1. 在Jenkins新建自由风格项目或者Maven项目,先配置好Maven构建步骤,填写你需要执行的原有Maven命令,比如clean install
  2. 新增构建步骤,根据Jenkins节点的操作系统选择「执行Windows批处理命令」或者「执行Shell」,直接写入调用Python脚本的命令:
:: Windows节点用这段,替换成你自己的脚本路径
python D:\your_local_path\target_script.py
# Linux/Mac节点用这段,替换成你自己的脚本路径
python3 /your_local_path/target_script.py

注意:如果需要严格保证执行顺序(比如Maven打包完成后再跑Python脚本),把Maven命令和Python调用命令写到同一个构建步骤里,避免多步骤并行/顺序异常。

常见踩坑排查

  • 不要用相对路径指向Python脚本:Jenkins执行构建时的工作目录是任务对应的workspace目录,相对路径会从workspace下检索文件,大概率找不到你存在其他目录的脚本,必须写绝对路径。
  • 权限问题:Linux/Mac环境下要给Jenkins运行用户开放脚本所在目录的读权限、脚本本身的执行权限,否则会报Permission denied错误。
  • 依赖问题:Jenkins执行时默认调用系统全局Python环境,如果你脚本用了第三方库,要把对应依赖装到全局Python环境里,或者在执行脚本前先加激活个人虚拟环境的命令。
  • 容器化部署的Jenkins:必须提前把宿主机存脚本的目录挂载到Jenkins容器内,否则容器内部无法访问宿主机本地文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 10:03:38