背景
我为了图省事,在Windows上安装运行Jenkins,通过配置gitee插件拉取代码部署接口自动化项目,配置构建后运行Allure报告,结果报错:找不到Allure和生成的数据。
Allure报错信息
ERROR: Step ‘Allure Report’ aborted due to exception: java.io.IOException:
Can't find allure commandline <null> at PluginClassLoader for allure-jenkins-plugin//ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation$GetMajorVersion.call(AllureCommandlineInstallation.java:131)
at PluginClassLoader for allure-jenkins-plugin//ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation$GetMajorVersion.call(AllureCommandlineInstallation.java:122)
at hudson.remoting.LocalChannel.call(LocalChannel.java:46)
at PluginClassLoader for allure-jenkins-plugin//ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation.getMajorVersion(AllureCommandlineInstallation.java:67)
at PluginClassLoader for allure-jenkins-plugin//ru.yandex.qatools.allure.jenkins.ReportBuilder.build(ReportBuilder.java:71)
at PluginClassLoader for allure-jenkins-plugin//ru.yandex.qatools.allure.jenkins.AllureReportPublisher.generateReport(AllureReportPublisher.java:361)
at PluginClassLoader for allure-jenkins-plugin//ru.yandex.qatools.allure.jenkins.AllureReportPublisher.perform(AllureReportPublisher.java:270)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:80)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:818)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:767)
at hudson.model.Build$BuildExecution.post2(Build.java:179)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:711)
at hudson.model.Run.execute(Run.java:1856) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:446) Finished: FAILURE
核心原因
windows 部署的Jenkins,虽然不配置Node节点就可以正常构建项目,但是我们的allure服务不仅需要在Jenkins宿主机上部署运行,还需要在Node服务器上部署运行。,并且宿主机服务器不能配置额外的工具,必须通过新增Node节点才能配置。
因此就导致构建项目时,报错找不到Allure Report。
解决方案
- 创建项目并配置allure服务。参考上篇文章:
- 新增Node节点服务器,专门用于项目运行。
- 在节点服务器,工具位置,配置allure的位置。切记allure要放到节点工作目录(workspace)下。保存完成。
4. node节点服务器,链接到Jenkins。双击名字local2
。
5. 下载agent.jar包,并执行命令,链接到Jenkins。
6. 配置Jenkins宿主机allure服务。
- 找到要构建的项目,指定项目运行的节点服务器。