I have a vanilla JavaScript application that I host on GitLab Pages. Recently, I have been making changes and bug fixes that have been breaking the site, and I haven't noticed until already having pushed the changes.

In an effort to reduce user exposure to bugs, I would like to publish two sites in separate folders:

* `public/` : `master` branch; the official website
* `public/staging/` : `staging` branch; the nightly build

I would like for these to correspond to two different branches: `master` and `staging`

Reading [GitLab CI for GitLab Pages](https://docs.gitlab.com/ee/user/project/pages/getting_started_part_four.html#job), it sounds like this is not even possible. I'm hoping I'm reading this wrong.

```
default:
  image: node:latest

test:
  stage: test
  script:
  - npm install
  - node test.js
  only:
  - staging
  - master

staging:
  stage: deploy
  environment: staging
  script:
  - mkdir -p public/staging
  - cp -r www public/staging
  artifacts:
    paths:
    - public
  only:
  - staging

pages:
  stage: deploy
  environment: production
  script:
  - mkdir -p public
  - cp -r www public
  artifacts:
    paths:
    - public
  only:
  - master

```

Is this possible? Is it possible to deploy two different folders from two different branches?