Как добавить Chrome в контейнер для устранения ошибки «Не удалось запустить Chrome» в circleCI - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь запустить Codecept.js на circleCI, но продолжаю сталкиваться с той же проблемой, где говорится: Failed to launch chrome.

Я считаю, что это проблема с кукловодом, но я не могу найти проблему в Интернете,

Я попытался добавить следующее в мой файл codecept.conf.js.

  helpers: {
    Puppeteer: {
      url: process.env.CODECEPT_URL || 'http://localhost:3030'
    },
    chrome: {
      args: ["--headless", "--no-sandbox"]
    }
  },

Я пытался установить Chrome на контейнер, на котором я работаю: docker-compose exec aubisque npx codeceptjs run --steps

Как я и думал, что Chrome не существует. Я не мог понять, как это сделать, хотя. Я также читал, что кукловод использует свой собственный тип хрома: S.

 acceptance:
    working_directory: ~/aubisque-api
    docker:
      - image: circleci/node:latest-browsers
        environment:
          NODE_ENV: development
    steps:
      - checkout
      - setup_remote_docker
      - restore_cache:
          name: Restore NPM Cache
          keys:
            - package-lock-cache-{{ checksum "package-lock.json" }}
      - run:
          name: Install git-crypt
          command: |
            curl -L https://github.com/AGWA/git-crypt/archive/debian/0.6.0.tar.gz | tar zxv &&
            (cd git-crypt-debian && sudo make && sudo make install)
      - run:
          name: decrypt files
          command: |
            echo $DECRYPT_KEY | base64 -d >> keyfile
            git-crypt unlock keyfile
            rm keyfile
      - run:
          name: Build and run acceptance tests
          command: |
            docker-compose -f docker-compose-ci.yml build --no-cache
            docker-compose -f docker-compose-ci.yml up -d
            docker-compose exec aubisque npx codeceptjs run --steps

Это мой файл circle / config.yml, в котором я запускаю приемочные тесты. Я выполняю код в рабочих процессах, и перед тем, как запустить это задание, я запускаю задание, которое устанавливает модули npm.

...