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.
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).
We are also actively working toward deploying GitLab Pages on Kubernetes, helping the Cloud Native Installation category reach a Complete maturity.
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. We are invested in supporting the process of developing and deploying code from a single place as a convenience for our users. 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.xx
Our own docs team has been 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
Adding Review Apps for Pages (gitlab#16907) will allow for more sophisticated development flows involving testing and review of Pages deployments. Enhancing the maturity of deployment would integrate Pages more critically within 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 without expanding APIs. Lastly, in combination with feature flags, Pages can be used to support A/B testing (gitlab#14122).