Jenkins错误安装Xvfb并再次运行Cypress

时间:2019-07-24 02:04:03

标签: docker jenkins jenkins-pipeline

创建用于执行jenkins柏树测试的管道,但是我总是运行它,犯一个错误,并尝试各种解决方案,包括Jenkins Xvfb,但我仍然没有成功。

错误

+ npm run exec:e2e

> projectname@0.1.0 exec:e2e /var/lib/jenkins/workspace/project/myproject
> npx cypress run

It looks like this is your first time using Cypress: 3.4.0

[?25l[01:56:21]  Verifying Cypress can run /var/lib/jenkins/.cache/Cypress/3.4.0/Cypress [started]
[01:56:21]  Verifying Cypress can run /var/lib/jenkins/.cache/Cypress/3.4.0/Cypress [failed]
[?25hYour system is missing the dependency: Xvfb

Install Xvfb and run Cypress again.

Read our documentation on dependencies for more information:

https://on.cypress.io/required-dependencies

If you are using Docker, we provide containers with all required dependencies installed.

----------

Error: spawn Xvfb ENOENT

----------

Platform: linux (Ubuntu Linux - 19.04)
Cypress Version: 3.4.0
[?25hnpm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! projectname@0.1.0 exec:e2e: `npx cypress run`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the projectname@0.1.0 exec:e2e script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /var/lib/jenkins/.npm/_logs/2019-07-24T01_56_21_795Z-debug.log

2 个答案:

答案 0 :(得分:1)

我通过其他解决方案解决了这个问题。

首先,我创建了一个pipeline

stage('E2E Tests') {
    sh 'docker run -v $PWD:/e2e -w /e2e cypress/included:3.4.0'
}

答案 1 :(得分:1)

您可以做的是锁定stage

stage('Run E2E tests') {
  dir("cypress-e2e-tests") {
    lock("cypress-e2e-tests-${env.NODE_NAME}") {
      sh 'docker run -v $PWD:/e2e -w /e2e cypress/included:3.4.0'
    }
  }
}