如何合并属于 Jenkins 声明性管道中两个不同阶段的两个不同的 Allure 结果

问题描述 投票:0回答:1

我有一个 Jenkins 声明式管道,有 2 个不同的测试阶段,两个阶段都配置为生成

allure-results

我想将这两个

allure-reports
合并为一个
allure-report
并将其呈现给 Jenkins Pipeline 工作区中的用户...

pipeline {
    agent none

    stages {
        stage('Sanity') {
            agent { label 'sanity-node' }
            steps {
                sh 'pytest --suite sanity'
                stash name: 'sanity-results', includes: 'allure-results/**'
            }
        }
        stage('Regression') {
            agent { label 'regression-node' }
            steps {
                sh 'pytest --suite regression'
                stash name: 'regression-results', includes: 'allure-results/**'
            }
        }
    }

    post {
        always {
            node('master') {

                dir('merged-allure-results') {
                    unstash 'sanity-results'
                    unstash 'regression-results'
                }

                allure([
                    includeProperties: false,
                    jdk: '',
                    properties: [],
                    reportBuildPolicy: 'ALWAYS',
                    results: [[path: 'merged-allure-results']]
                ])
            }
        }
    }
}

但由于某种原因它似乎不起作用!我在这里做错了什么?怎样才能达到预期的效果?

jenkins jenkins-pipeline devops allure
1个回答
0
投票

Allure 不知道嵌套目录,因此您需要将两者作为结果传递。像这样的东西:

    post {
        always {
            node('master') {

                dir('merged-allure-results') {
                    unstash 'sanity-results'
                    unstash 'regression-results'
                }

                allure([
                    includeProperties: false,
                    jdk: '',
                    properties: [],
                    reportBuildPolicy: 'ALWAYS',
                    results: [
                        [path: 'merged-allure-results'],
                        [path: 'regression-results']
                    ]
                ])
            }
        }
    }

此外,我会仔细检查这些存储是否已存储到不同的目录中。我不记得结果的结构,但我怀疑仅通过将所有内容复制到一个地方就可以安全地合并它们。

© www.soinside.com 2019 - 2024. All rights reserved.