# GitLab Pages > 原文:[https://docs.gitlab.com/ee/user/project/pages/](https://docs.gitlab.com/ee/user/project/pages/) * [Getting started](#getting-started) * [How it works](#how-it-works) * [Access to your Pages site](#access-to-your-pages-site) * [Pages examples](#pages-examples) * [Administer GitLab Pages for self-managed instances](#administer-gitlab-pages-for-self-managed-instances) # GitLab Pages[](#gitlab-pages "Permalink") 版本历史 * 在 GitLab 企业版 8.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80) . * GitLab 企业版 8.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/173)了具有 TLS 支持的自定义 CNAME. * [移植](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/14605)到 GitLab 8.17 中的 GitLab 社区版. * 在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/30548)了对子组项目网站的支持. * 捆绑的项目模板在 GitLab 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/47857) . 借助 GitLab 页面,您可以直接从 GitLab 中的存储库发布静态网站. * 用于任何个人或企业网站. * 使用任何静态站点生成器(SSG)或纯 HTML. * 为您的项目,组或用户帐户创建网站. * 免费在自己的 GitLab 实例或 GitLab.com 上托管您的网站. * 连接您的自定义域和 TLS 证书. * 将任何许可归于您的内容. ![Examples of SSGs supported by Pages](img/50ffc4ae0babeef44a73e82cfe49bb30.png) 要发布包含 Pages 的网站,您可以使用任何 SSG,例如 Gatsby,Jekyll,Hugo,Middleman,Harp,Hexo 和 Brunch 等. 您还可以发布直接用纯 HTML,CSS 和 JavaScript 编写的任何网站. 网页**不**支持动态服务器端的处理,例如,作为`.php`和`.asp`需要. 了解更多有关[静态网站和动态网站的信息](https://about.gitlab.com/blog/2016/06/03/ssg-overview-gitlab-pages-part-1-dynamic-x-static/) . ## Getting started[](#getting-started "Permalink") 要创建一个 GitLab Pages 网站: | Document | Description | | --- | --- | | [Fork a sample project](getting_started/pages_forked_sample_project.html) | 通过分叉示例项目,使用已配置的 Pages 创建一个新项目. | | [Use a new project template](getting_started/pages_new_project_template.html) | 使用已经使用新项目模板配置的 Pages 创建一个新项目. | | [Use a `.gitlab-ci.yml` template](getting_started/pages_ci_cd_template.html) | 将 Pages 网站添加到现有项目. 使用预填充的 CI 模板文件. | | [Create a `gitlab-ci.yml` file from scratch](getting_started/pages_from_scratch.html) | 将 Pages 网站添加到现有项目. 了解如何创建和配置自己的 CI 文件. | 要更新 GitLab Pages 网站: | Document | Description | | --- | --- | | [GitLab Pages domain names, URLs, and base URLs](getting_started_part_one.html) | 了解有关 GitLab Pages 默认域的信息. | | [Explore GitLab Pages](introduction.html) | 要求,技术方面,特定的 GitLab CI / CD 配置选项,访问控制,自定义 404 页面,限制,常见问题解答. | | [Custom domains and SSL/TLS Certificates](custom_domains_ssl_tls_certification/index.html) | 自定义域和子域,DNS 记录和 SSL / TLS 证书. | | [Let’s Encrypt integration](custom_domains_ssl_tls_certification/lets_encrypt_integration.html) | 使用 Let's Encrypt 证书保护您的 Pages 网站,该证书由 GitLab 自动获取并更新. | | [CloudFlare certificates](https://about.gitlab.com/blog/2017/02/07/setting-up-gitlab-pages-with-cloudflare-certificates/) | 使用 CloudFlare 证书保护您的 Pages 网站. | 了解更多信息并查看示例: | Document | Description | | --- | --- | | [Static vs dynamic websites](https://about.gitlab.com/blog/2016/06/03/ssg-overview-gitlab-pages-part-1-dynamic-x-static/) | 静态与动态网站概述. | | [Modern static site generators](https://about.gitlab.com/blog/2016/06/10/ssg-overview-gitlab-pages-part-2/) | SSG 概述. | | [Build any SSG site with GitLab Pages](https://about.gitlab.com/blog/2016/06/17/ssg-overview-gitlab-pages-part-3-examples-ci/) | 对 GitLab 页面使用 SSG. | ## How it works[](#how-it-works "Permalink") 要使用 GitLab 页面,您必须在 GitLab 中创建一个项目以将您网站的文件上传到该项目. 这些项目可以是公共的,内部的或私人的. GitLab 始终从资源库中一个非常特定的文件夹`public`部署您的网站. 在 GitLab 中创建新项目时, [存储库](../repository/index.html)将自动可用. 为了部署您的站点,GitLab 使用其内置工具[GitLab CI / CD](../../../ci/README.html)来构建您的站点并将其发布到 GitLab Pages 服务器. GitLab CI / CD 运行以完成此任务的脚本序列是从名为`.gitlab-ci.yml`的文件中[创建的](getting_started/pages_from_scratch.html) ,您可以随意[创建和修改](getting_started/pages_from_scratch.html) . 配置文件中称为`pages`的特定`job`会使 GitLab 知道您正在部署 GitLab Pages 网站. 您可以将 GitLab 的[默认域用于](getting_started_part_one.html#gitlab-pages-default-domain-names) `*.gitlab.io` [GitLab Pages 网站](getting_started_part_one.html#gitlab-pages-default-domain-names) `*.gitlab.io` ,也可以使用自己的域( `example.com` ). 在这种情况下,您需要对您域的注册商(或控制面板)具有管理员权限,才能使用 Pages 对其进行设置. 下图显示了开始使用 Pages 可能需要遵循的工作流程. ![New projects for GitLab Pages](img/8db9ef3ba0d1153ab46b990e98372677.png) ## Access to your Pages site[](#access-to-your-pages-site "Permalink") 如果您使用的是 GitLab Pages 默认域( `.gitlab.io` ),则您的网站将自动安全并在 HTTPS 下可用. 如果您使用自己的自定义域,则可以选择使用 SSL / TLS 证书对其进行保护. If you’re using GitLab.com, your website will be publicly available to the internet. To restrict access to your website, enable [GitLab Pages Access Control](pages_access_control.html). 如果您使用的是自我管理的实例(Core,Starter,Premium 或 Ultimate),则根据 sysadmin 选择的[Pages admin 设置](../../../administration/pages/index.html) ,您的网站将发布在您自己的服务器上,管理员可以将其设置为公开或内部. ## Pages examples[](#pages-examples "Permalink") 有一些因特定原因而建立的 GitLab Pages 网站的出色示例. 这些示例可以教您使用高级技术并适应您自己的需求: * [Posting to your GitLab Pages blog from iOS](https://about.gitlab.com/blog/2016/08/19/posting-to-your-gitlab-pages-blog-from-ios/). * [GitLab CI: Run jobs sequentially, in parallel, or build a custom pipeline](https://about.gitlab.com/blog/2016/07/29/the-basics-of-gitlab-ci/). * [GitLab CI: Deployment & environments](https://about.gitlab.com/blog/2016/08/26/ci-deployment-and-environments/). * [Building a new GitLab docs site with Nanoc, GitLab CI, and GitLab Pages](https://about.gitlab.com/blog/2016/12/07/building-a-new-gitlab-docs-site-with-nanoc-gitlab-ci-and-gitlab-pages/). * [Publish code coverage reports with GitLab Pages](https://about.gitlab.com/blog/2016/11/03/publish-code-coverage-report-with-gitlab-pages/). ## Administer GitLab Pages for self-managed instances[](#administer-gitlab-pages-for-self-managed-instances "Permalink") 如果您正在运行 GitLab 的自我管理实例(GitLab 社区版和企业版),请[按照管理步骤](../../../administration/pages/index.html)来配置页面. 观看有关如何开始使用 GitLab 页面管理的[视频教程](https://www.youtube.com/watch?v=dD8c7WNcc6s) .