我创建了一个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如何检测到所有测试都已运行以执行后步骤?
1条答案
按热度按时间x6h2sr281#
发生此问题的原因是 playwright.config.js
reporter: 'html'
中的此行。这会导致尝试在浏览器中打开测试报告,而该浏览器需要在容器中找不到的GUI,因此进程挂起。