【问题标题】:Executing Same Jenkins job by picking fail_skip xml once first execution is over首次执行结束后,通过选择 fail_skip xml 执行相同的 Jenkins 作业
【发布时间】:2020-12-07 10:57:59
【问题描述】:

我来自 QA 自动化部门,对 jenkins 很陌生,以下是我的案例

流程:我有一个 jenkins 作业,它获取一个文件 criticalsuite.xml (testng) 并触发执行。一旦作业完成,它会在同一个工作区中生成一个文件名 fail_skip xml。

问题:如何配置一个作业来获取这个fail_skip.xml并在主作业完成执行后自动触发执行。

目前,我们通过粘贴 fail_skip xml 手动触发相同的作业。我基本上想摆脱这种手工干预

【问题讨论】:

  • 我的回答对你有帮助吗?

标签: jenkins jenkins-pipeline testng qa


【解决方案1】:

如果您使用 Jenkins 流水线,那么在不同的阶段很容易做到。在我下面的声明性 Jenkinsfile 示例中,stage-01 创建一个文件,stage-02 解析并读取它。

pipeline {
    agent any;
    stages {
        stage('01') {
            steps {
                writeFile file: "${env.WORKSPACE}/details.yml", text: """
                    name: Scott
                    address:
                        houseNumber: x01
                        city: XX
                        country: Space
                """ 
            }
        }
        stage('02') {
            steps {
                script {
                    def yamlContent = readYaml file: "${env.WORKSPACE}/details.yml"
                    println yamlContent.address.country
                }
            }
        }
    }
}

你甚至可以扩展这个场景 后期建设阶段。工作运行后的含义取决于成功或失败,您可以决定要做什么。请查看此jenkins documentation 了解更多详情。像这样:

pipeline {
   agent any;
   stages {
     ...
   }
   post {
        success {
            script {
                def yamlContent = readYaml file: "${env.WORKSPACE}/details.yml"
                println yamlContent.address.city
            }
        }
        failure {
            echo "IT'S FAIL"
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    • 2017-10-04
    相关资源
    最近更新 更多