Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Как подружить Jenkins и Allure на удаленном серевере?

remote
pytest
jenkins
allure
Теги: #<Tag:0x00007fedb82ee110> #<Tag:0x00007fedb82edf80> #<Tag:0x00007fedb82eddf0> #<Tag:0x00007fedb82edc38>

(Philipp Lebedev) #1

Подружил Jenkins с PyTest тестами. Запкскаются работают все хорошо.
Пытаюсь теперь подружить Jenkins c Allure получаю ошибку (ошибка в конце)

Мои шаги:

  1. Установил плагин allure на Jenkins

  2. Настроил post-build Actions:

  3. Запускаю build тесты обрабатываются, а отчет падает:

==================== 3 failed, 11 passed in 203.68 seconds =====================
Build step ‘Execute shell’ marked build as failure
ERROR: Step ‘Allure Report’ aborted due to exception:
sun.security.validator.ValidatorException: No trusted certificate found
at sun.security.validator.SimpleValidator.buildTrustedChain(java.base@9-internal/SimpleValidator.java:395)
at sun.security.validator.SimpleValidator.engineValidate(java.base@9-internal/SimpleValidator.java:134)
at sun.security.validator.Validator.validate(java.base@9-internal/Validator.java:271)
at sun.security.ssl.X509TrustManagerImpl.validate(java.base@9-internal/X509TrustManagerImpl.java:343)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(java.base@9-internal/X509TrustManagerImpl.java:237)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(java.base@9-internal/X509TrustManagerImpl.java:124)
at sun.security.ssl.ClientHandshaker.checkServerCerts(java.base@9-internal/ClientHandshaker.java:1820)
Caused: javax.net.ssl.SSLHandshakeException
at sun.security.ssl.Alerts.getSSLException(java.base@9-internal/Alerts.java:198)
at sun.security.ssl.SSLSocketImpl.fatal(java.base@9-internal/SSLSocketImpl.java:1949)
at sun.security.ssl.Handshaker.fatalSE(java.base@9-internal/Handshaker.java:309)
at sun.security.ssl.Handshaker.fatalSE(java.base@9-internal/Handshaker.java:303)
at sun.security.ssl.ClientHandshaker.checkServerCerts(java.base@9-internal/ClientHandshaker.java:1841)
at sun.security.ssl.ClientHandshaker.serverCertificate(java.base@9-internal/ClientHandshaker.java:1650)
at sun.security.ssl.ClientHandshaker.processMessage(java.base@9-internal/ClientHandshaker.java:260)
at sun.security.ssl.Handshaker.processLoop(java.base@9-internal/Handshaker.java:1003)
at sun.security.ssl.Handshaker.processRecord(java.base@9-internal/Handshaker.java:937)
at sun.security.ssl.SSLSocketImpl.processInputRecord(java.base@9-internal/SSLSocketImpl.java:1119)
at sun.security.ssl.SSLSocketImpl.readRecord(java.base@9-internal/SSLSocketImpl.java:1056)
at sun.security.ssl.SSLSocketImpl.readRecord(java.base@9-internal/SSLSocketImpl.java:955)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(java.base@9-internal/SSLSocketImpl.java:1382)
at sun.security.ssl.SSLSocketImpl.startHandshake(java.base@9-internal/SSLSocketImpl.java:1409)
at sun.security.ssl.SSLSocketImpl.startHandshake(java.base@9-internal/SSLSocketImpl.java:1393)
at sun.net.www.protocol.https.HttpsClient.afterConnect(java.base@9-internal/HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(java.base@9-internal/AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.followRedirect0(java.base@9-internal/HttpURLConnection.java:2661)
at sun.net.www.protocol.http.HttpURLConnection.followRedirect(java.base@9-internal/HttpURLConnection.java:2583)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(java.base@9-internal/HttpURLConnection.java:1768)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(java.base@9-internal/HttpURLConnection.java:1439)
at java.net.HttpURLConnection.getResponseCode(java.base@9-internal/HttpURLConnection.java:480)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(java.base@9-internal/HttpsURLConnectionImpl.java:319)
at hudson.FilePath.installIfNecessaryFrom(FilePath.java:791)
Caused: java.io.IOException: Failed to install https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.6.0/allure-2.6.0.zip to /var/lib/jenkins/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/Report
at hudson.FilePath.installIfNecessaryFrom(FilePath.java:855)
at hudson.FilePath.installIfNecessaryFrom(FilePath.java:763)
at hudson.tools.DownloadFromUrlInstaller.performInstallation(DownloadFromUrlInstaller.java:77)
at hudson.tools.InstallerTranslator.getToolHome(InstallerTranslator.java:72)
at hudson.tools.ToolLocationNodeProperty.getToolHome(ToolLocationNodeProperty.java:109)
at hudson.tools.ToolInstallation.translateFor(ToolInstallation.java:206)
at ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation.forNode(AllureCommandlineInstallation.java:108)
at ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation.forNode(AllureCommandlineInstallation.java:33)
at ru.yandex.qatools.allure.jenkins.utils.BuildUtils.setUpTool(BuildUtils.java:39)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.getCommandline(AllureReportPublisher.java:335)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.generateReport(AllureReportPublisher.java:290)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.perform(AllureReportPublisher.java:218)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:81)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
at hudson.model.Build$BuildExecution.post2(Build.java:186)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
at hudson.model.Run.execute(Run.java:1749)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)

  1. В причинах вижу строку:

Caused: java.io.IOException: Failed to install https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.6.0/allure-2.6.0.zip to /var/lib/jenkins/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/Report

  1. Иду в ‘Manage Jenkins’ -> ‘Global Tool Configuration’ -> ‘Allure Commandline’. Добавляю установщик ‘Extract .zip/.tar.gz’ в поле Download URL for binary archive вставляю ссылку > https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.6.0/allure-2.6.0.zip
    И получаю ошибку

Помогите разобраться.

Jenkins работает на Ubuntu сервере


(Philipp Lebedev) #2

Причем на локальной машине все работает…
Подскажите как заставить работать на сервере


(Artem Eroshenko) #3

Привет! Видимо у bintray протух сертификат. Тут уж ничего не поделаешь.
Поставь вот этот плагин и у тебя все заработает: https://wiki.jenkins.io/display/JENKINS/Skip+Certificate+Check+plugin

В Allure плагине тебе необходимо такой же путь, как в --alluredir


(Philipp Lebedev) #4

Спасибо заработало