Перейти к содержимому

Фотография

два Allure репорта накладываются друг на друга в pipeline Jenkins

Allure Jenkins

  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 Winill

Winill

    Новый участник

  • Members
  • Pip
  • 2 сообщений

Отправлено 16 ноября 2017 - 10:03

Такая ситуация, на работе есть pipeline который работает по принципу: 
"деплой на тест -> тесты на тесте(с репортом) -> деплой на проде -> тесты на проде(с репортом)"
как видим из пути, должно генерироваться 2 репорта, каждый со своими результатами.
у меня вышло это прикрепить вставив эти строки в нужных местах:

allure([includeProperties: false, jdk: '', properties: [], reportBuildPolicy: 'ALWAYS', results: [[path: '/home/developer/workspace/testServer/target/allure-results']]])

и

allure([includeProperties: false, jdk: '', properties: [], reportBuildPolicy: 'ALWAYS', results: [[path: '/home/developer/workspace/prodServer/target/allure-results']]])

Прописал полный путь специально для того, что бы они точно знали где искать этот самый репорт. В итоге: тесты проходят, но репорт что на проде дублирует тот же репорт, что и на тестовом сервере. Допустим, на тестовом сервере тесты прошли, на проде они упали, и у меня будет невнятное отображение, что стейдж с тестами упал, в репорте все тесты успешны, а если перейти конкретно в джобу с тестами на проде, то там будет репорт в котором будут упавшие тесты.
Надеюсь смог обьяснить максимально не запутанно.

 


  • 0

#2 Winill

Winill

    Новый участник

  • Members
  • Pip
  • 2 сообщений

Отправлено 16 ноября 2017 - 11:24

Прилагаю полный код для простоты понимания:

stage('Deploy on test'){
    build 'Deploy test'
}
try{
    echo 'its test on test server'
    stage('test on test') {
        node('forTests') {
            def e2e = build job:'test Selenium Regression'
            result = e2e.result
            stage('allure report on test serv if success') {
                allure([includeProperties: false, jdk: '', properties: [], reportBuildPolicy: 'ALWAYS', results: [[path: '/home/developer/workspace/test Selenium Regression'/target/allure-results']]])
            }
        }
   }
}catch(e){
    echo 'its report on test server if failed'
    stage('allure'){
        node('forTests') {
            def al = allure([includeProperties: false, jdk: '', properties: [], reportBuildPolicy: 'ALWAYS', results: [[path: '/home/developer/workspace/test Selenium Regression'/target/allure-results']]])
            result = "FAILURE"
            al.result = "FAILURE"
        }
    }
}




if(result.equals("SUCCESS")){
    stage('Deploy on prod'){
        build 'Deploy prod'
    }
try{
    echo 'its test on prod server'
    stage('test on prod') {
        node('forTests') {
            def e2e = build job: 'prod Selenium Regression'
            result = e2e.result
            stage('allure report on prod serv if success') {
                allure([includeProperties: false, jdk: '', properties: [], reportBuildPolicy: 'ALWAYS', results: [[path: '/home/developer/workspace/prod Selenium Regression/target/allure-results']]])
            }
        }
    }
}catch(e){
    echo 'its report on prod server if failed'
    stage('allure'){
        node('forTests') {
            allure([includeProperties: false, jdk: '', properties: [], reportBuildPolicy: 'ALWAYS', results: [[path: '/home/developer/workspace/prod Selenium Regression/target/allure-results/target/allure-results']]])
            result = "FAILURE"
            al.result = "FAILURE"
        }
    }
  }
}

  • 0



Темы с аналогичным тегами Allure, Jenkins

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных