问题一、jenkins job运行环境报错:This error originates from a subprocess, and is likely not a problem with pip
原因:
pip环境问题
解决方案:
在Jenkins job中加以下代码:
python3 -m pip install --upgrade pip
pip3 install --upgrade setuptools
pip3 install --upgrade atomicwrites
问题二、allure报告报错:java.io.IOException: Can’t find allure commandline
python3 -m pytest test_main.py --alluredir=./allure-results --clean-alluredir
ERROR: Step ‘Allure Report’ aborted due to exception:
Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to slave
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)
at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
at hudson.remoting.Channel.call(Channel.java:1000)
at ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation.getMajorVersion(AllureCommandlineInstallation.java:63)
at ru.yandex.qatools.allure.jenkins.ReportBuilder.build(ReportBuilder.java:52)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.generateReport(AllureReportPublisher.java:312)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.perform(AllureReportPublisher.java:231)
at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:79)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:816)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:765)
at hudson.model.Build$BuildExecution.post2(Build.java:179)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:709)
at hudson.model.Run.execute(Run.java:1922)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
at hudson.model.ResourceController.execute(ResourceController.java:101)
at hudson.model.Executor.run(Executor.java:442)
java.io.IOException: Can't find allure commandline <null>
原因:
allure环境配置问题
解决方案:
1.进入安装Allure Jenkins Plugin插件
2.进入系统管理–全局工具配置,配置Allure Commandline环境,
我的allure安装在linux宿主机上,这里填写宿主机安装目录,并配置好环境变量,注意不要bin