首页 > 解决方案 > 如何将 Chrome 添加到容器以克服 circleCI 中的错误“无法启动 chrome”

问题描述

我正在尝试在 circleCI 上运行 Codecept.js,但我一直遇到它所说的相同问题Failed to launch chrome

我相信这是 puppeteer 的问题,但我在网上找不到问题。

我尝试将以下内容添加到我的 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

正如我认为可能是铬不存在。我无法弄清楚如何做到这一点。我还读到 puppeteer 使用自己的 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 模块的作业。

标签: puppeteercirclecicodeceptjs

解决方案


推荐阅读