运行剧作家测试舞台陷入运行状态无休止的Jenkins

wswtfjt7  于 2022-12-11  发布在  Jenkins
关注(0)|答案(1)|浏览(119)

我创建了一个Jenkins管道,它运行dockerize前端应用程序,构建它并运行playwrite测试用例。
我的问题是,运行测试阶段在运行完所有测试后没有进入下一步。
Jenkins文件:

#!groovy

pipeline {
    agent any

    stages {
        stage('Checkout') {
            steps {
                echo 'Clean workspace'
                cleanWs()
                echo 'Checking out the PR'
                checkout scm
            }
        }

        stage('Build') {
            steps {
                echo 'Destroy Old Build'
                echo 'Building'
                sh 'make upbuild_d'
            }
        }

         stage('Lint') {
            steps {
                echo 'Checking Lint'
                sh 'make lint'
            }
        }

        stage('Test') {
            steps {
                echo 'Running Tests ...'
                sh 'make test-e2e'
            }
        }
    }
    // [StagePost] Clean after finishing
    post {
        always {
            echo '## BEGIN ALWAYS BLOCK ##'
            echo 'Destroy Build'
            sh 'make destroy'
            cleanWs()
            echo '## END ALWAYS BLOCK ##'
        }
    }
}

下面是Makefile中的make test-e2e

test-e2e:
docker exec my-container bash -c 'npm run test:e2e'

这是test:e2e脚本npx playwright test --project=chromium
Jenkins如何检测到所有测试都已运行以执行后步骤?

x6h2sr28

x6h2sr281#

发生此问题的原因是 playwright.config.jsreporter: 'html'中的此行。
这会导致尝试在浏览器中打开测试报告,而该浏览器需要在容器中找不到的GUI,因此进程挂起。

相关问题