Skip to content

Commit

Permalink
docs: add gitlab-ci section to troubleshooting (#8664)
Browse files Browse the repository at this point in the history
Adding explanatory section with detailed manual on how to launch puppeteer on GitlabCI
  • Loading branch information
chakzefir authored and OrKoN committed Jul 20, 2022
1 parent f0c2808 commit 0180a88
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions docs/troubleshooting.md
Expand Up @@ -359,6 +359,31 @@ USER pptruser
...
```

## Running Puppeteer on GitlabCI

This is very similar to some of the instructions above, but require a bit different configuration to finally achieve success.

Usually the issue looks like this:

```bash
Error: Failed to launch chrome! spawn /usr/bin/chromium-browser ENOENT
```

You need to patch two places:

1. Your `gitlab-ci.yml` config
2. Arguments' list when launching pupepeteer

In `gitlab-ci.yml` we need to install some packages to make it possible to launch headless Chrome in your docker env:

```yml
before_script:
- apt-get update
- apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libnss3 lsb-release xdg-utils wget
```

Next, you have to use `'--no-sandbox'` mode and also `'--disable-setuid-sandbox'` when launching Puppeteer. This can be done by passing them as an arguments to your `.launch()` call: `puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'] });`.

#### Tips

By default, Docker runs a container with a `/dev/shm` shared memory space 64MB.
Expand Down

0 comments on commit 0180a88

Please sign in to comment.