Как отредактировать флаг передачи (--ipc = host) для docker run -d -p в azure конвейере? - PullRequest
0 голосов
/ 08 января 2020

У меня есть конвейер azure, который развертывает сервер express и Cypress E2E с браузером без головы на Docker. после одного теста я получаю сообщение: [527: 0108 / 134726.008962: ФАТАЛЬНО: память. cc (22)] Недостаточно памяти. size = 262144

Мы обнаружили, что процесс Chromium Renderer просто потерпел крах. Вы работаете Docker (это легко исправить: см. Ссылку ниже) https://on.cypress.io/renderer-process-crashed

Основано на ошибке Cypress на docker (https://on.cypress.io/renderer-process-crashed) Я пытаюсь добавить флаг (--ipc = host) к команде "docker run" в azure pipe. Есть ли способ для этого? Спасибо.

1 Ответ

1 голос
/ 09 января 2020

Есть одно обсуждение об этой топике c в Github, добавление --ipc=host или увеличение размера /dev/shm для контейнера, похоже, не является хорошим выбором для системы CI.

Запуск Chrome с --disable-dev-shm-usage может быть одним из исправлений этой проблемы во время CI. Поскольку исправление от Cypress не выпущено, вы можете отследить # 5336 , чтобы получать уведомления, если есть какие-либо обновления. И вот один обходной путь из flogwig , который может помочь:

Изменить Chrome флаги, добавив это в pluginsfile:

module.exports = (on, config) => {
  on('before:browser:launch', (browser = {}, args) => {
    if (browser.family === 'chrome') {
      console.log('Adding --disable-dev-shm-usage...')
      args.push('--disable-dev-shm-usage')
    }

    return args
  })
}
...