Multiple Gitlab pages within single project
Release notes
Allowing multiple, distinct static websites, with distinct access rules (public, private, internal) within the same project.
Problem to solve
Having a public user guide and private developper documentation for the same project.
Intended users
- Parker (Product Manager)
- Delaney (Development Team Lead)
- Presley (Product Designer)
- Sasha (Software Developer)
- Sam (Security Analyst)
- Allison (Application Ops)
- Eddie (Content Editor)
User experience goal
Users should be able de host any number of static websites by adding jobs to .gitlab-ci.yml
Proposal
Allow multiple pages jobs, either with a pattern on job's name like pages-*
or with a job property.
Parse the -*
match or use the latter property to generate a slug.
Serve multiple sites on domain.ext/project
for main pages
job and domain.ext/project/slug
for other jobs.
In case of main pages job generating a page matching the slug, the main pages routes should match first and be served.