GitLab Pages allows you to create a statically generated website from your project that is automatically built using GitLab CI and hosted on our infrastructure.
Interested in joining the conversation for this category? Please join us in our public epic where we discuss this topic and can answer any questions you may have. Your contributions are more than welcome.
Pages is not strategically our most important Release feature, but it's a popular feature and one that people really enjoy engaging with as part of the GitLab experience; it's truly one of our most "personal" features in the Release stage. We do not plan to provide a market-leading solution for static web page hosting, but we do want to offer one that is capable for most basic needs, in particular for hosting static content and documentation that is a part of your software release. Popular issues and compelling blockers for our users hosting static content and documentation will be the top priority for Pages.
In order to improve pages performance, we are working on changing the pages architecture. Now that we have delivered the first improvement to speed up the initialization time (gitlab#28782), our next focus will be to support Let's Encrypt more effectively in Pages (gitlab#30660, gitlab#35608). We are working on validating supporting custom domains and will expect to have a path to redirect to custom domains (gitlab#14243) following the Pages re-architecture effort. Our most popular issue for Pages, Multiple version Pages support (gitlab#16208) will need to wait until the new architecture is in place, but we are working on an alternative solution of using environments for achieving the same functionality (gitlab#33822).
This category is currently at the "Complete" maturity level, and our next maturity target is Lovable (see our definitions of maturity levels). Key deliverables to achieve this are:
Gitlab pages are offered as a service, but we do not position ourselves as a static site market leader. Other providers, such as Netlify provide a more comprehensive solution. There are project templates available in Gitlab that offer the use of Netlify for static site CI/CD, while also still taking advantage of GitLab for repos, merge requests, issues, and everything else (gitlab-ce#57785).
The most popular customer issue is gitlab#17584. Creating Gitlab pages today requires admins to setup wildcard DNS records and SSL/TLS certificates. Some services and/or corporate security policies forbid wildcard DNS records, preventing users from benefitting from using Gitlab pages. This issue will remove the need for wildcard DNS and allow many more users to enjoy the pages experience.
Our top internal customer issue is gitlab#16208 which enables having multiple GitLab Pages generated based on branches or tags.
Our own docs team is considering moving to a different hosting provider; details on reasons why can be found at gitlab-docs#313. The main difficulty with using Pages at www-gitlab-com / GitLab documentation scale is:
Caching artifacts between pages runs
From a vision standpoint, adding Review Apps for Pages (gitlab#16907) is interesting because it allows for more sophisticated development flows involving testing, where at the moment the only environment that GitLab understands is production. This would level up our ability for Pages to be a more mission-critical part of projects and groups. Another vision item being investigated is to leverage JAMSTACK for Pages. The primary goal would be to enhance the user experience (gitlab#2179) and allow easy to set up pages from the UI.