gitlab/codeceptjs 测试昨天运行良好,现在甚至无法启动

gitlab/codeceptjs tests were working fine yesterday now they can't even start

几个月前,我使用 codeceptjs/puppeteer 在 gitlab 上做了一些测试。我的测试有 0 个问题。今天早上我醒来,发现每个应用程序的每一个测试都在应用程序开始之前就失败了。 none 的测试已在 4 周多的时间内更新。到目前为止,他们 运行 都很好。

现在我每次在第一次测试开始之前都会收到这个错误

`example -- user inserts text and html macro :heavy_multiplication_x: "before each" hook: codeceptjs.before for "user inserts text and html macro" in 13ms Error: Failed to launch the browser process!`

我不知道是什么原因造成的。我做了一些谷歌搜索,所有以前的问题都说将 "args": ["--no-sandbox", "--disable-setuid-sandbox"] 添加到配置中将解决这个问题,但我已经在我的配置文件中有了它。它已经在我的配置文件中好几个月了。不知道昨晚和今晚之间发生了什么变化。这是我的 gitlab-ci.yml 文件

`image: node:latest 


all_tests:
  script:
    - apt-get update && apt-get install -yq libgconf-2-4
    - apt-get update && apt-get install -y wget --no-install-recommends && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' && apt-get update && apt-get install -y google-chrome-unstable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst ttf-freefont --no-install-recommends && rm -rf /var/lib/apt/lists/* && apt-get purge --auto-remove -y curl && rm -rf /src/*.deb
    - npm install
    - npm i codeceptjs-puppeteer
    - npm i codeceptjs puppeteer
    - ln -sf ./node_modules/.bin/codeceptjs /usr/local/bin/codeceptjs
    - npm i --save arrify
    - ./node_modules/.bin/codeceptjs run --steps


cache:
  paths:
    - ./node_modules/.bin/codeceptjs

after_script:
    - echo "Cleaning up"
    - rm -rf "%CACHE_PATH%/%CI_PIPELINE_ID%" 
`

几个月前,我从 gitlab 上的一个仓库中提取了它,该仓库进行了木偶操作测试,因为我不知道如何构建一个正常工作的。 codeceptjs/puppeteer 有一个配置文件,这里是内容

`exports.config = {
  tests: './tests/test_test.js',
  output: './output',
  helpers: {
    Puppeteer: {
      url: 'http://localhost',
      show: false,
      chrome: {
          "args": ["--no-sandbox", "--disable-setuid-sandbox"]
      }
    }
  },
  include: {
    I: './steps_file.js',
    login: './pages/login.js',
    confluence: './pages/confluence.js',
    editor: './pages/editor.js',
  },
  bootstrap: null,
  mocha: {},
  name: 'cloud ME user'
};`

所以是的,几个月来配置对我来说工作正常,直到昨晚突然失败。我读到的所有内容都说我需要指定 chrome 是无头的,但我已经尝试过了。我几个月前试过。任何人都知道是什么原因造成的?

您的构建配置正在使用 node:latest 作为基础映像。显然,昨天已经更改了(请参阅 the README.md of node docker repository 从版本 13 到 14。

您可以尝试将节点映像降级回版本 13:

image: node:13

或者根据您的需要更具体一些。