Jenkins集成Allure报错找不到allure commandline <null>如何解决?
问题根因
你的错误日志核心报错为java.io.IOException: Can't find allure commandline,说明运行流水线的Ubuntu 20.04 Agent节点未找到Allure命令行可执行文件,该问题和项目的pom.xml配置无关,属于Jenkins工具配置类问题。
可行修复方案
- 首先确认你仅安装了Jenkins官方Allure插件是不够的,还需要配置Allure命令行工具
- 进入Jenkins全局工具配置页面,找到Allure Commandline配置项:
- 新增一个Allure安装实例,选择自动安装,指定版本建议和pom文件中依赖的Allure版本对齐(你当前使用的是2.13.8,可直接选择对应版本)
- 记好该Allure安装实例的自定义名称,比如命名为
Allure-2.13.8
- 修改Jenkinsfile中的allure调用语句,补充指定刚才配置的命令行实例名称,修改后示例如下:
post { always { allure commandline: 'Allure-2.13.8', includeProperties: false, jdk: '', reportBuildPolicy: 'ALWAYS', results: [[path: 'target/allure-results']] deleteDir() } }
- 如果你的Agent节点禁止自动下载外部工具,可手动在所有运行该流水线的Agent节点上安装Allure二进制包,将解压后的
allure/bin目录加入系统PATH,手动执行allure --version验证可正常输出版本号即可 - 额外注意:你当前配置中
jdk参数留空,如果Agent节点默认Java版本不是17,建议在此处指定全局工具中配置的JDK17实例名称,避免Allure运行时出现Java版本不兼容问题
内容的提问来源于stack exchange,提问作者Elijah Madiosn
相关产品推荐
相关产品推荐

