Multiple version Pages support
Description
Is it possible to have multiple GitLab Pages generated based on branches or tags?
For example, have the current master branch release published at:
https://userGroup.gitlab.io/project/file.ext
<-- master branch published here
While all tagged versions and the latest commit on each branch have a slightly different url:
https://userGroup.gitlab.io/project/branchTagName/file.ext
<-- specific branch or tag published here
(Obviously, this would cause problems if the branchTagName was a directory in the main project, but that should be avoided by the person using this approach.)
It seems like it should be possible, for example having one job with an "only"[0] to make any pushes to the master url and a second job to make pushes to a variable based url (where the variable itself is the branch or tag name [1]).
I'm running into two distinct problems: job name & variable usage
If I use anything other than 'pages' as the job name, everything passes but it isn't deployed. I've tried underscores, dashes, camelCase, and all lower case. Does the job name have to be exactly 'pages'? If so, I couldn't find it in any documentation, and trust me I've been looking!
As for the variable, this is the first time I've tried using them in yml, so the best I could come up with was:
paths:
- public/$CI_BUILD_REF_NAME
Which causes the build to fail. Any suggestions on this front?
Proposal
Pending completion of the pages infrastructure changes &1316 (closed) Allow pages to have multiple versions
group/
└── project
└── public
├── master
├── v1.0
├── v1.3
└── v2.0
Concerns
- What should be the default version?
- Do we need to support migration for existing customers or create a new file structure and put it behind a feature flag?
- If we need to support migration, how, need to ensure no downtime
- How to overcome the current pages storage limitation?
Links / references
[0] https://docs.gitlab.com/ee/ci/yaml/README.html#only-and-except
[1] https://docs.gitlab.com/ee/ci/variables/README.html
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.