GitLab Pages

原文:https://docs.gitlab.com/ee/user/project/pages/

GitLab Pages

版本历史

  • 在 GitLab 企业版 8.3 中引入 .
  • GitLab 企业版 8.5 中引入了具有 TLS 支持的自定义 CNAME.
  • 移植到 GitLab 8.17 中的 GitLab 社区版.
  • 在 GitLab 11.8 中引入了对子组项目网站的支持.
  • 捆绑的项目模板在 GitLab 11.8 中引入 .

借助 GitLab 页面,您可以直接从 GitLab 中的存储库发布静态网站.

  • 用于任何个人或企业网站.
  • 使用任何静态站点生成器(SSG)或纯 HTML.
  • 为您的项目,组或用户帐户创建网站.
  • 免费在自己的 GitLab 实例或 GitLab.com 上托管您的网站.
  • 连接您的自定义域和 TLS 证书.
  • 将任何许可归于您的内容.

Examples of SSGs supported by Pages

要发布包含 Pages 的网站,您可以使用任何 SSG,例如 Gatsby,Jekyll,Hugo,Middleman,Harp,Hexo 和 Brunch 等. 您还可以发布直接用纯 HTML,CSS 和 JavaScript 编写的任何网站.

网页支持动态服务器端的处理,例如,作为.php.asp需要. 了解更多有关静态网站和动态网站的信息 .

Getting started

要创建一个 GitLab Pages 网站:

Document Description
Fork a sample project 通过分叉示例项目,使用已配置的 Pages 创建一个新项目.
Use a new project template 使用已经使用新项目模板配置的 Pages 创建一个新项目.
Use a .gitlab-ci.yml template 将 Pages 网站添加到现有项目. 使用预填充的 CI 模板文件.
Create a gitlab-ci.yml file from scratch 将 Pages 网站添加到现有项目. 了解如何创建和配置自己的 CI 文件.

要更新 GitLab Pages 网站:

Document Description
GitLab Pages domain names, URLs, and base URLs 了解有关 GitLab Pages 默认域的信息.
Explore GitLab Pages 要求,技术方面,特定的 GitLab CI / CD 配置选项,访问控制,自定义 404 页面,限制,常见问题解答.
Custom domains and SSL/TLS Certificates 自定义域和子域,DNS 记录和 SSL / TLS 证书.
Let’s Encrypt integration 使用 Let’s Encrypt 证书保护您的 Pages 网站,该证书由 GitLab 自动获取并更新.
CloudFlare certificates 使用 CloudFlare 证书保护您的 Pages 网站.

了解更多信息并查看示例:

Document Description
Static vs dynamic websites 静态与动态网站概述.
Modern static site generators SSG 概述.
Build any SSG site with GitLab Pages 对 GitLab 页面使用 SSG.

How it works

要使用 GitLab 页面,您必须在 GitLab 中创建一个项目以将您网站的文件上传到该项目. 这些项目可以是公共的,内部的或私人的.

GitLab 始终从资源库中一个非常特定的文件夹public部署您的网站. 在 GitLab 中创建新项目时, 存储库将自动可用.

为了部署您的站点,GitLab 使用其内置工具GitLab CI / CD来构建您的站点并将其发布到 GitLab Pages 服务器. GitLab CI / CD 运行以完成此任务的脚本序列是从名为.gitlab-ci.yml的文件中创建的 ,您可以随意创建和修改 . 配置文件中称为pages的特定job会使 GitLab 知道您正在部署 GitLab Pages 网站.

您可以将 GitLab 的默认域用于 *.gitlab.io GitLab Pages 网站 *.gitlab.io ,也可以使用自己的域( example.com ). 在这种情况下,您需要对您域的注册商(或控制面板)具有管理员权限,才能使用 Pages 对其进行设置.

下图显示了开始使用 Pages 可能需要遵循的工作流程.

New projects for GitLab Pages

Access to your Pages site

如果您使用的是 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.

如果您使用的是自我管理的实例(Core,Starter,Premium 或 Ultimate),则根据 sysadmin 选择的Pages admin 设置 ,您的网站将发布在您自己的服务器上,管理员可以将其设置为公开或内部.

Pages examples

有一些因特定原因而建立的 GitLab Pages 网站的出色示例. 这些示例可以教您使用高级技术并适应您自己的需求:

Administer GitLab Pages for self-managed instances

如果您正在运行 GitLab 的自我管理实例(GitLab 社区版和企业版),请按照管理步骤来配置页面.

观看有关如何开始使用 GitLab 页面管理的视频教程 .