Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Category Direction - GitLab Pages

GitLab Pages

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.

Overall Prioritization

Pages is 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. For more information about how GitLab is improving the experience for managing static site content - please review our Static Site Editor Direction page.

What's Next & Why

We are tackling the Object Storage re-architecture to support cloud native installations of GitLab Pages via gitlab#39586. We are working on improvements to pages via Object storage in gitlab&3905 and on transitioning GitLab Pages from NFS to Object Storage in gitlab&3901. The last step that we have for this migration is disconnecting connectivity from NFS in gitlab&4851 which is planned to happen in GitLab 14.0.

Maturity Plan

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:

Competitive Landscape

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, deliver a more comprehensive solution. There are project templates available that offer the use of Netlify for static site CI/CD, while also still taking advantage of GitLab for repository, merge requests, issues, and everything else. GitLab offers configurable redirects, a well-loved featured of Netlify, made available in gitlab-pages#24.

We are seeing a rise in JAMStack and static site generators partnering in the media. This trend toward API-first, affirms our modernization effort of Pages, reinforcing our cloud native installation maturity plan.

Top Customer Issue(s) and Top Customer Success/Sales Issue(s)

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.

We are working on better 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 also 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).

Top Internal Customer Issue(s)

Our top internal customer issue is (gitlab#16208) which enables having multiple GitLab Pages generated based on branches or tags. We have been seeing more demand for cloud native, kubernetes based delivery of which GitLab Pages NFS storage is a blocker for, this will be addressed via gitlab#39586.

Top Vision Item(s)

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.

The Static Editor Team has shown interest in becoming more competitive with Netlify, using the GitLab Pages engine which is discussion in gitlab#17539.

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).

Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license