Тесты gitlab / codecept js вчера работали нормально, теперь они даже не запускаются - PullRequest
0 голосов
/ 23 апреля 2020

месяцев go Я сделал несколько тестов на gitlab, используя codeceptjs / puppeteer. У меня было 0 проблем с тестами. сегодня утром я проснулся, и все тесты в каждом приложении проваливаются еще до того, как они начинают работать. ни один из тестов не был обновлен в течение 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%" 
`

месяцев a go Я извлек это из репозитория на 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 без головы, но я уже пробовал Я пытался в те месяцы go. Кто-нибудь есть идеи, что вызывает это?

1 Ответ

0 голосов
/ 23 апреля 2020

Ваша конфигурация сборки использует node:latest в качестве базового образа. Очевидно, это было изменено вчера (см. README.md узла docker хранилище с версии 13 до 14.

Вы можете попробовать понизить образ узла до версии 13:

image: node:13

Или даже что-то более конкретное c в соответствии с вашими потребностями.

...