# GitLab subscription
> 原文:[https://docs.gitlab.com/ee/subscriptions/](https://docs.gitlab.com/ee/subscriptions/)
* [Choosing a GitLab subscription](#choosing-a-gitlab-subscription)
* [Choosing a GitLab tier](#choosing-a-gitlab-tier)
* [Choosing between GitLab.com or self-managed](#choosing-between-gitlabcom-or-self-managed)
* [Choosing a GitLab.com group or personal subscription](#choosing-a-gitlabcom-group-or-personal-subscription)
* [Choosing the number of users](#choosing-the-number-of-users)
* [GitLab.com](#gitlabcom)
* [Self-managed](#self-managed)
* [Users statistics](#users-statistics)
* [Obtain a GitLab subscription](#obtain-a-gitlab-subscription)
* [Subscribe to GitLab.com](#subscribe-to-gitlabcom)
* [Subscribe through GitLab self-managed](#subscribe-through-gitlab-self-managed)
* [Manage your GitLab account](#manage-your-gitlab-account)
* [Change billing information](#change-billing-information)
* [Change payment method](#change-payment-method)
* [Change the linked account](#change-the-linked-account)
* [Change the associated namespace](#change-the-associated-namespace)
* [Change customer portal account password](#change-customer-portal-account-password)
* [View your subscription](#view-your-subscription)
* [View your GitLab.com subscription](#view-your-gitlabcom-subscription)
* [View your self-managed subscription](#view-your-self-managed-subscription)
* [Renew your subscription](#renew-your-subscription)
* [Prepare for renewal by reviewing your account](#prepare-for-renewal-by-reviewing-your-account)
* [Users over License](#users-over-license)
* [Purchase additional seats for GitLab.com](#purchase-additional-seats-for-gitlabcom)
* [Purchase additional users for self-managed](#purchase-additional-users-for-self-managed)
* [Seat Link](#seat-link)
* [Disable Seat Link](#disable-seat-link)
* [Renew or change a GitLab.com subscription](#renew-or-change-a-gitlabcom-subscription)
* [Automatic renewal](#automatic-renewal)
* [Renew a self-managed subscription](#renew-a-self-managed-subscription)
* [Upgrade your subscription tier](#upgrade-your-subscription-tier)
* [Upgrade your GitLab.com subscription tier](#upgrade-your-gitlabcom-subscription-tier)
* [Upgrade your self-managed subscription tier](#upgrade-your-self-managed-subscription-tier)
* [Subscription expiry](#subscription-expiry)
* [Self-managed GitLab data](#self-managed-gitlab-data)
* [CI pipeline minutes](#ci-pipeline-minutes)
* [Purchasing additional CI minutes](#purchasing-additional-ci-minutes)
* [Contact Support](#contact-support)
* [GitLab for Education subscriptions](#gitlab-for-education-subscriptions)
* [GitLab for Open Source subscriptions](#gitlab-for-open-source-subscriptions)
# GitLab subscription[](#gitlab-subscription "Permalink")
GitLab 提供了多层功能. 您的订阅决定了您有权访问的层. 订阅有效期为 12 个月.
GitLab 为[GitLab 教育计划](https://about.gitlab.com/solutions/education/)和[GitLab 开源计划的](https://about.gitlab.com/solutions/open-source/)参与者提供特殊订阅. 有关获取和续订这些订阅的详细信息,请参阅:
* [GitLab for Education subscriptions](#gitlab-for-education-subscriptions)
* [GitLab for Open Source subscriptions](#gitlab-for-open-source-subscriptions)
## Choosing a GitLab subscription[](#choosing-a-gitlab-subscription "Permalink")
选择订阅时,请考虑以下因素:
* [GitLab tier](#choosing-a-gitlab-tier)
* [GitLab.com or self-managed](#choosing-between-gitlabcom-or-self-managed)
* [Group or personal subscription (GitLab.com only)](#choosing-a-gitlabcom-group-or-personal-subscription)
* [Number of users](#choosing-the-number-of-users)
### Choosing a GitLab tier[](#choosing-a-gitlab-tier "Permalink")
定价[基于层级](https://about.gitlab.com/pricing/) ,使您可以选择适合预算的功能. 请参阅[GitLab.com 功能比较](https://about.gitlab.com/pricing/gitlab-com/feature-comparison/)和[自我管理功能比较,](https://about.gitlab.com/pricing/self-managed/feature-comparison/)以获取有关每种产品在每个层上可用的[功能](https://about.gitlab.com/pricing/self-managed/feature-comparison/)的信息.
### Choosing between GitLab.com or self-managed[](#choosing-between-gitlabcom-or-self-managed "Permalink")
订阅的应用方式有所不同,具体取决于您使用的是 GitLab.com 还是自我管理的实例.
* [GitLab.com:GitLab](#gitlabcom)的软件即服务产品. 您无需安装任何程序即可使用 GitLab.com,只需[注册](https://gitlab.com/users/sign_up)并立即开始使用 GitLab.
* [GitLab 自我管理](#self-managed) :安装,管理和维护自己的 GitLab 实例.
在自我管理的实例上,GitLab 订阅为所有用户提供了相同的功能集. 在 GitLab.com 上,您可以将订阅应用于组或个人名称空间.
**注意:**订阅不能在 GitLab.com 和 GitLab 自我管理之间转移. 必须购买新订阅并根据需要应用.
### Choosing a GitLab.com group or personal subscription[](#choosing-a-gitlabcom-group-or-personal-subscription "Permalink")
在 GitLab.com 上,您可以将订阅应用于组或个人名称空间.
适用于:
* GitLab.com 上的**组** ,组,所有子组以及所选组下的所有项目将具有关联层的功能. GitLab 建议在管理组织的项目和用户时选择一个小组计划.
* 作为**个人用户空间** ,所有项目都将具有应用了订阅的功能,但是由于它不是一个组,因此将无法使用组功能.
### Choosing the number of users[](#choosing-the-number-of-users "Permalink")
订阅中的计数对象之间有一些不同,具体取决于您使用的是 GitLab.com 还是自我管理的实例.
#### GitLab.com[](#gitlabcom "Permalink")
GitLab.com 订阅使用并发( *座位* )模型. 您需要根据一次启用的最大用户数来支付订阅费用. 您可以在订阅期间添加和删除用户,只要在任何给定时间的总用户数都在订阅数之内即可.
预订中将计算每个已占用的席位,无论是按人员,职位还是漫游器,但以下情况除外:
* 具有金牌订阅的访客权限的成员.
**提示:**为了支持开源社区并鼓励开发开源项目,GitLab 授予所有 GitLab.com **公共**项目访问**金牌**功能的权限,无论其订阅如何.
#### Self-managed[](#self-managed "Permalink")
自我管理的订阅使用混合模型. 您需要根据订阅期内启用的最大用户数来支付订阅费用. 对于非脱机或封闭网络上的实例,每季度使用[Seat Link](#seat-link)检查一次自我管理安装中的最大同时用户数.
预订中将计算每个已占用的席位,无论是按人员,工作还是漫游方式,但以下情况除外:
* 在订阅续订之前受到限制的[停用](../user/admin_area/activating_deactivating_users.html#deactivating-a-user)和[阻止的](../user/admin_area/blocking_unblocking_users.html)用户不会被视为续订订阅的活动用户. 在最初添加他们的订阅期内,他们可以算作活动用户.
* 具有 Ultimate 订阅的 Guest 权限的成员.
* GitLab 创建的服务帐户: `Ghost User`和`Support Bot` .
##### Users statistics[](#users-statistics "Permalink")
要查看实例中用户的细分,包括活动,计费和已阻止,请转至**管理区域>概述>仪表板,**然后在" **用户"**部分中选择" **用户统计信息** ". 有关更多详细信息,请参阅[用户统计信息](../user/admin_area/index.html#users-statistics) .
**注意:**如果启用了 LDAP 集成,则配置域中的任何人都可以注册一个 GitLab 帐户. 续订时可能会导致意外的账单. 考虑[禁用新注册](../user/admin_area/settings/sign_up_restrictions.html)并改为手动管理新用户.
## Obtain a GitLab subscription[](#obtain-a-gitlab-subscription "Permalink")
### Subscribe to GitLab.com[](#subscribe-to-gitlabcom "Permalink")
订阅 GitLab.com:
1. 使用我们的[注册页面](https://gitlab.com/users/sign_in#register-pane)为您自己创建一个用户帐户.
2. 创建一个[组](../user/group/index.html) . GitLab 组帮助将相关项目组合在一起,使您可以一次授予成员访问多个项目的权限. 如果您计划在个人名称空间中包含项目,则不需要组.
3. 创建其他用户并将其[添加到组中](../user/group/index.html#add-users-to-a-group) .
4. 通过[客户门户](https://customers.gitlab.com/)选择**青铜** , **银**或**金** GitLab.com 计划.
5. 将您的 GitLab.com 帐户与客户门户帐户关联. 选择计划后,如果尚未链接您的帐户,系统将提示您使用" **登录到 GitLab.com"**按钮来链接您的帐户.
6. 从下拉列表中选择名称空间以关联预订.
7. 进行结算.
**提示:**您也可以转到" [**我的帐户"**](https://customers.gitlab.com/customers/edit)页面来添加或更改 GitLab.com 帐户链接.
### Subscribe through GitLab self-managed[](#subscribe-through-gitlab-self-managed "Permalink")
要通过自我管理安装订阅 GitLab:
1. 转到[客户门户](https://customers.gitlab.com/)并购买**Starter** , **Premium**或**Ultimate**自我管理计划.
2. 购买后,许可证文件将发送到与客户门户帐户关联的电子邮件地址,该电子邮件地址必须[上传到您的 GitLab 实例](../user/admin_area/license.html#uploading-your-license) .
**提示:**如果您要购买现有**Core**自管实例的订阅,请确保购买的席位足以[覆盖您的用户](../user/admin_area/index.html#administering-users) .
## Manage your GitLab account[](#manage-your-gitlab-account "Permalink")
使用[客户门户,](https://customers.gitlab.com/)您可以:
* [Change billing and company information](#change-billing-information)
* [Change the payment method](#change-payment-method)
* [Change the linked account](#change-the-linked-account)
* [Change the associated namespace](#change-the-associated-namespace)
* [Change customers portal account password](#change-customer-portal-account-password)
### Change billing information[](#change-billing-information "Permalink")
要更改帐单信息:
1. 登录到[客户门户](https://customers.gitlab.com/customers/sign_in) .
2. 选择**我的帐户**下拉菜单,然后点击**付款方式** .
3. 对" **帐户详细**信息"进行必要的更改.
4. Click **保存更改**.
**注意:**将来的购买将使用此部分中的信息. 本节中列出的电子邮件用于客户门户登录以及与许可证相关的电子邮件通信.
### Change payment method[](#change-payment-method "Permalink")
要更改付款方式或更新信用卡信息:
1. 登录到[客户门户](https://customers.gitlab.com/customers/sign_in) .
2. 选择**我的帐户**下拉菜单,然后点击**付款方式** .
3. **编辑**现有的付款方式信息或**添加新的付款方式** .
4. 保存更改.
### Change the linked account[](#change-the-linked-account "Permalink")
要更改与您的客户门户帐户关联的 GitLab.com 帐户:
1. 登录到[客户门户](https://customers.gitlab.com/customers/sign_in) .
2. 在单独的浏览器选项卡中,转到[GitLab.com,](https://gitlab.com)并确保您尚未登录.
3. 在"客户门户"页面上,单击**我的帐户>帐户详细信息** .
4. 在**您的 GitLab.com 帐户下** ,单击" **更改关联的帐户"** .
5. 登录到要链接到"客户门户"帐户的[GitLab.com](https://gitlab.com)帐户.
### Change the associated namespace[](#change-the-associated-namespace "Permalink")
使用关联的 GitLab.com 帐户:
1. 登录到[客户门户](https://customers.gitlab.com/customers/sign_in) .
2. 导航到" **管理购买"**页面.
3. Click **更改链接的名称空间**.
4. 从" **此订阅用于"**下拉列表中选择所需的组.
5. Click **进行结算**.
订阅费用是根据一个组中的用户总数(包括其子组和嵌套项目)来计算的. 如果用户总数超过了订阅中的席位数,则将向您收取额外的用户费用.
### Change customer portal account password[](#change-customer-portal-account-password "Permalink")
要更改此客户门户帐户的密码:
1. 登录到[客户门户](https://customers.gitlab.com/customers/sign_in) .
2. 选择**我的帐户**下拉菜单,然后点击**帐户详细信息** .
3. 对**您的密码**部分进行必要的更改.
4. Click **保存更改**.
## View your subscription[](#view-your-subscription "Permalink")
### View your GitLab.com subscription[](#view-your-gitlabcom-subscription "Permalink")
要查看您的 GitLab.com 订阅状态,请登录 GitLab.com 并转到相关名称空间的**Billing**部分:
* 对于个人:
1. 转到**用户头像>设置** .
2. 点击**结算** .
* 对于团体:
1. 在群组页面( *而不是*群组中的项目)中,转到**设置>结算** .
下表描述了您的组订阅详细信息:
| Field | Description |
| --- | --- |
| 订阅席 | 如果这是付费计划,则表示您已支付支持该组座位的数量. |
| 当前使用的座椅 | 当前正在使用的活动座位数. |
| 最多使用的座位 | 您使用过的最高座位数. 如果这超出了订阅的席位,则您可能欠其他用户额外的费用. |
| 欠座位 | 如果您使用的最大席位超出了订阅中的席位,您将为已添加的用户欠额外的费用. |
| 订阅开始日期 | 订阅开始的日期. 如果这是免费计划,则是您从组的付费计划过渡的日期. |
| 订阅结束日期 | 当前订阅的终止日期. 不适用于免费计划. |
### View your self-managed subscription[](#view-your-self-managed-subscription "Permalink")
要查看您的自我管理订阅的状态,请登录到自我管理实例,然后转到" **许可证"**页面.
1. 去 **管理区** .
2. 从左侧菜单中选择**许可证** .
## Renew your subscription[](#renew-your-subscription "Permalink")
要续订您的订阅,请[通过查看您的帐户来准备续订](#prepare-for-renewal-by-reviewing-your-account) ,然后执行以下一项操作:
* [Renew a GitLab.com subscription](#renew-or-change-a-gitlabcom-subscription).
* [Renew a self-managed subscription](#renew-a-self-managed-subscription).
### Prepare for renewal by reviewing your account[](#prepare-for-renewal-by-reviewing-your-account "Permalink")
[客户门户](https://customers.gitlab.com/customers/sign_in)是您续订和修改订阅的工具. 在进行续订之前,请登录并验证或更新:
* **帐户详细信息**页面上的发票联系方式.
* 在" **付款方式"**页面上存档的信用卡.
**提示:**如果您需要访问客户门户的帮助或需要更改管理您的订阅的联系人,请与我们的[支持团队](https://support.gitlab.com/hc/en-us/requests/new?ticket_form_id=360000071293)联系.
定期检查您的用户帐户很重要,因为:
* GitLab 订阅基于用户数量. 如果为太多的用户续订,则您将支付比应支付的更多的费用,而如果您尝试为太少的用户续订订阅,则续订将失败.
* 过时的用户帐户可能会带来安全风险. 定期检查有助于降低这种风险.
#### Users over License[](#users-over-license "Permalink")
GitLab 订阅对特定数量的用户有效. 有关详细信息,请参阅[选择用户数](#choosing-the-number-of-users) . 如果活动用户数超过了订阅中包含的数量,即*超过许可证*的*用户*数,则必须在续订之前或续订时为超出的用户数付费. 这也称为*真正的升级*过程.
##### Purchase additional seats for GitLab.com[](#purchase-additional-seats-for-gitlabcom "Permalink")
没有自助服务选项可以购买额外的座位. 您必须从 GitLab 销售处索取报价. 为此,请通过我们的[支持表格](https://support.gitlab.com/hc/en-us/requests/new?ticket_form_id=360000071293)联系 GitLab.
每个座位收取的费用是通过以下方法之一计算的:
* 如果在续订前付费,则每个座位的数量将按比例计算. 例如,如果在订阅期结束前 3 个月添加了用户,则应付款额的计算方式为:(3/12)x 年费.
* 如果在续签时支付,则每个席位的金额为标准年费.
##### Purchase additional users for self-managed[](#purchase-additional-users-for-self-managed "Permalink")
自我管理实例可以在订阅期间的任何时间将用户添加到订阅中. 订阅期内添加的其他用户的成本是从购买之日起到订阅期结束之间按比例分配的.
要将用户添加到订阅中:
1. 登录到[客户门户](https://customers.gitlab.com/) .
2. 导航到" **管理购买"**页面.
3. 选择相关订阅卡上的**添加更多席位** .
4. 输入其他用户数.
5. Select **进行结算**.
6. 查看**订阅升级详细信息** . 系统会列出系统上所有用户的总价,以及您已支付的款项的信用额. 您只需要支付零钱.
7. Select **确认升级**.
以下内容将通过电子邮件发送给您:
* 付款收据. 您也可以在客户门户的" [**查看发票"**](https://customers.gitlab.com/receipts)下访问此信息.
* A new license. [Upload this license](../user/admin_area/license.html#uploading-your-license) to your instance to use it.
### Seat Link[](#seat-link "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/208832) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.9.
利用 Seat Link,我们可以使用季度对帐流程为自助客户提供按比例分配的费用,用于全年增加用户.
Seat Link 每天将连接的自我管理实例中的所有用户计数发送到 GitLab. 该信息用于自动按比例分配对帐. 数据通过加密的 HTTPS 连接安全地发送.
Seat Link **仅**向 GitLab 提供以下信息:
* Date
* License key
* 历史最大用户数
* 活动用户数
对于离线或封闭网络客户,将使用现有[的调整模型](#users-over-license) . 如果没有用户计数数据,则无法按比例收取费用.
<details><summary title="Click here to view example content of a Seat Link POST request.">单击此处查看 Seat Link POST 请求的示例内容.</summary>
```
{
date: '2020-01-29',
license_key: 'ZXlKa1lYUmhJam9pWm5WNmVsTjVZekZ2YTJoV2NucDBh
RXRxTTA5amQxcG1VMVZqDQpXR3RwZEc5SGIyMVhibmxuZDJ0NWFrNXJTVzVH
UzFCT1hHNVRiVFIyT0ZaUFlVSm1OV1ZGV0VObE1uVk4NCk4xY3ZkM1F4Y2to
MFFuVklXSFJvUWpSM01VdE9SVE5rYkVjclZrdDJORkpOTlhka01qaE5aalpj
YmxSMg0KWVd3MFNFTldTRmRtV1ZGSGRDOUhPR05oUVZvNUsxVnRXRUZIZFU1
U1VqUm5aVFZGZUdwTWIxbDFZV1EyDQphV1JTY1V4c1ZYSjNPVGhrYVZ4dVlu
TkpWMHRJZUU5dmF6ZEJRVVkxTlVWdFUwMTNSMGRHWm5SNlJFcFYNClQyVkJl
VXc0UzA0NWFFb3ZlSFJrZW0xbVRqUlZabkZ4U1hWcWNXRnZYRzVaTm5GSmVW
UnJVR1JQYTJKdA0KU0ZZclRHTmFPRTVhZEVKMUt6UjRkSE15WkRCT1UyNWlS
MGRJZDFCdmRFWk5Za2h4Tm5sT1VsSktlVlYyDQpXRmhjYmxSeU4wRnRNMU5q
THpCVWFGTmpTMnh3UWpOWVkyc3pkbXBST1dnelZHY3hUV3hxVDIwdlZYRlQN
Ck9EWTJSVWx4WlVOT01EQXhVRlZ3ZGs1Rk0xeHVSVEJTTDFkMWJUQTVhV1ZK
WjBORFdWUktaRXNyVnpsTw0KTldkWWQwWTNZa05VWlZBMmRUVk9kVUpxT1hV
Mk5VdDFTUzk0TUU5V05XbFJhWGh0WEc1cVkyWnhaeTlXDQpTMEpyZWt0cmVY
bzBOVGhFVG1oU1oxSm5WRFprY0Uwck0wZEdhVUpEV1d4a1RXZFRjVU5tYTB0
a2RteEQNCmNWTlFSbFpuWlZWY2JpdFVVbXhIV0d4MFRuUnRWbkJKTkhwSFJt
TnRaMGsyV0U1MFFUUXJWMUJVTWtOSA0KTVhKUWVGTkxPVTkzV1VsMlVUUldk
R3hNTWswNU1USlNjRnh1U1UxTGJTdHRRM1l5YTFWaWJtSlBTMkUxDQplRkpL
SzJSckszaG1hVXB1ZVRWT1UwdHZXV0ZOVG1WamMyVjRPV0pSUlZkUU9UUnpU
VWh2Wlc5cFhHNUgNClNtRkdVMDUyY1RGMWNGTnhVbU5JUkZkeGVWcHVRMnBh
VTBSUGR6VnRNVGhvWTFBM00zVkZlVzFOU0djMA0KY1ZFM1FWSlplSFZ5UzFS
aGIxTmNia3BSUFQxY2JpSXNJbxRsZVNJNkltZFhiVzFGVkRZNWNFWndiV2Rt
DQpNWEIyY21SbFFrdFNZamxaYURCdVVHcHhiRlV3Tm1WQ2JGSlFaSFJ3Y0Rs
cFMybGhSMnRPTkZOMWNVNU0NClVGeHVTa3N6TUUxcldVOTVWREl6WVVWdk5U
ZGhWM1ZvVjJkSFRtZFBZVXRJTkVGcE55dE1NRE5dWnpWeQ0KWlV0aWJsVk9T
RmRzVVROUGRHVXdWR3hEWEc1MWjWaEtRMGQ2YTAxWFpUZHJURTVET0doV00w
ODRWM0V2DQphV2M1YWs5cWFFWk9aR3BYTm1aVmJXNUNaazlXVUVRMWRrMXpj
bTFDV0V4dldtRmNibFpTTWpWU05VeFMNClEwTjRNMWxWCUtSVGEzTTJaV2xE
V0hKTFRGQmpURXRsZFVaQlNtRnJTbkpPZGtKdlUyUmlNVWxNWWpKaQ0KT0dw
c05YbE1kVnh1YzFWbk5VZDFhbU56ZUM5Tk16TXZUakZOVW05cVpsVTNObEo0
TjJ4eVlVUkdkWEJtDQpkSHByYWpreVJrcG9UVlo0Y0hKSU9URndiV2RzVFdO
VlhHNXRhVmszTkV0SVEzcEpNMWRyZEVoRU4ydHINCmRIRnFRVTlCVUVVM1pV
SlRORE4xUjFaYVJGb3JlWGM5UFZ4dUlpd2lhWFlpt2lKV00yRnNVbk5RTjJk
Sg0KU1hNMGExaE9SVGR2V2pKQlBUMWNiaUo5DQo=',
max_historical_user_count: 10,
active_users: 6
}
```</details>
您可以在管理面板中查看确切的 JSON 有效负载. 要查看有效负载:
1. 导航到" **管理区域">"设置">"度量和分析",**然后展开" **Seat Link"** .
2. Click **预览有效载荷**.
#### Disable Seat Link[](#disable-seat-link "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/212375) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.10.
默认情况下,Seat Link 已启用.
要禁用此功能,请转到 **在管理区域>设置>指标和配置文件中** ,取消选中" **启用座椅链接"**复选框>" **保存更改"** .
要在 Omnibus GitLab 安装中禁用 Seat Link,并防止日后通过管理面板对其进行配置,请在[`gitlab.rb`](https://docs.gitlab.com/omnibus/settings/configuration.html)设置以下[`gitlab.rb`](https://docs.gitlab.com/omnibus/settings/configuration.html) :
```
gitlab_rails['seat_link_enabled'] = false
```
要在 GitLab 源代码安装中禁用 Seat Link,并防止日后通过管理面板对其进行配置,请在`gitlab.yml`进行以下设置:
```
production: &base
# ...
gitlab:
# ...
seat_link_enabled: false
```
### Renew or change a GitLab.com subscription[](#renew-or-change-a-gitlabcom-subscription "Permalink")
要更新为更多的用户比你们 GitLab.com 系统目前正在积极,请联系我们通过销售团队`renewals@gitlab.com`寻求帮助,因为这不能在客户门户网站来完成.
For details on upgrading your subscription tier, see [Upgrade your GitLab.com subscription tier](#upgrade-your-gitlabcom-subscription-tier).
#### Automatic renewal[](#automatic-renewal "Permalink")
要查看或更改自动订阅续订(与上一周期位于同一层),请登录到[客户门户](https://customers.gitlab.com/customers/sign_in) ,然后:
* 如果您看到" **恢复订阅"**按钮,则您的订阅先前已被取消. 单击它可以恢复自动续订.
* 如果看到" **取消订阅"** ,则您的订阅将设置为在订阅期结束时自动续订. 单击它可以取消自动续订.
启用自动续订后,订阅将在到期日期自动续订,并且可用服务之间不会有任何差距. 将会生成一张用于续订的发票,并且可以在" [查看发票"](https://customers.gitlab.com/receipts)页面中查看或下载. 如果您在续订过程中遇到困难,请联系我们的[支持团队](https://support.gitlab.com/hc/en-us/requests/new?ticket_form_id=360000071293)以寻求帮助.
### Renew a self-managed subscription[](#renew-a-self-managed-subscription "Permalink")
从订阅到期前 30 天开始,GitLab 会在 GitLab 用户界面中用标语通知管理员到期日期.
我们建议您在续订期间执行以下步骤:
1. 通过[阻止](../user/admin_area/blocking_unblocking_users.html#blocking-a-user)任何不活跃或不需要的用户来修剪[它们](../user/admin_area/blocking_unblocking_users.html#blocking-a-user) .
2. 确定在即将到来的订阅中是否需要增加用户.
3. 登录到[客户门户,](https://customers.gitlab.com/customers/sign_in)然后选择现有订阅下的" **续订"**按钮.
**提示:**如果您需要更改您的[GitLab 层](https://about.gitlab.com/pricing/) ,请通过`renewals@gitlab.com`与我们的销售团队联系以寻求帮助,因为这不能在客户门户中完成.
4. 在第一个框中,输入来年需要的用户许可总数. 确保此数目至少**等于或大于**执行更新时系统中的活动用户数.
5. 在第二个框中,输入上一个订购期限内发生的用户超额[使用的许可证超用户](#users-over-license)数.
**提示:**您可以*通过以下方式*在实例的**管理**控制台中找到获得*许可*的*用户* **:** (顶部)中的( **管理区域** ),或转到`/admin` .
下表介绍了管理控制台和续订条款的详细信息:
| Field | Description |
| --- | --- |
| 许可中的用户 | 您在系统上加载的当前许可证中已付费的用户数. 这不包括您在续订期间`Users over license`向`Users over license`支付的金额. |
| 活跃用户 | 系统上当前的活动用户数. |
| 最大用户 | 在已加载许可证有效期内,系统上活动用户数最多. 如果此数字在任何时候都超出了许可数量的用户,则会使用户蒙受许可数量的困扰. |
| 超过许可的用户 | 在当前许可期限内,超出`Users in License`用户数量的用户数量. 此数量的用户将在下次续订时付费. |
6. 查看您的续订详细信息并完成付款过程.
7. 可以在相关订阅卡上的" [管理购买"](https://customers.gitlab.com/subscriptions)页面上下载续订期限的许可证. 选择**将许可证复制到剪贴板**或选择**下载许可证**以获取副本.
8. 将新许可证[上载到](../user/admin_area/license.html#uploading-your-license)您的实例.
将会生成一张用于续订的发票,并且可以在" [查看发票"](https://customers.gitlab.com/receipts)页面上查看或下载. 如果您在续订过程中遇到困难,请联系我们的[支持团队](https://support.gitlab.com/hc/en-us/requests/new?ticket_form_id=360000071293)以寻求帮助.
## Upgrade your subscription tier[](#upgrade-your-subscription-tier "Permalink")
升级过程因您是 GitLab.com 还是自我管理的客户而异.
### Upgrade your GitLab.com subscription tier[](#upgrade-your-gitlabcom-subscription-tier "Permalink")
要升级您的[GitLab 层](https://about.gitlab.com/pricing/) :
1. 登录到[客户门户](https://customers.gitlab.com/customers/sign_in) .
2. 在" [管理购买"](https://customers.gitlab.com/subscriptions)页面上,选择相关订阅卡上的" **升级"**按钮.
3. 选择所需的升级.
4. 确认有效的付款方式,或添加新的付款方式.
5. 选中**我接受隐私政策和服务条款**复选框.
6. Select **确认购买**.
处理完购买后,您将收到新订阅等级的确认.
### Upgrade your self-managed subscription tier[](#upgrade-your-self-managed-subscription-tier "Permalink")
要升级您的[GitLab 层](https://about.gitlab.com/pricing/) ,请联系我们的销售团队,因为这不能在客户门户中完成. 您可以发送电子邮件至`renewals@gitlab.com`或填写" [**联系销售"**](https://about.gitlab.com/sales/)表单. 在消息中包括要升级的订阅的详细信息以及所需的层.
After messaging the sales team, the workflow is as follows:
1. 收到销售团队的答复,要求确认升级.
2. 回复销售团队,确认升级细节.
3. 收到销售团队的报价.
4. 签名并返回报价.
5. 收到新许可证.
6. 上载新许可证. 有关详细信息,请参阅上[载许可证](../user/admin_area/license.html#uploading-your-license) .
上载许可证文件后,新的订阅层将处于活动状态.
## Subscription expiry[](#subscription-expiry "Permalink")
当您的订阅或试用版到期时,GitLab 不会删除您的数据,但是根据到期时的层级,它可能变得不可访问. 如果您没有准备好到期,则某些功能可能无法达到预期的效果. 例如, [未传递特定](https://gitlab.com/gitlab-org/gitlab/-/issues/24759)于[环境的变量](https://gitlab.com/gitlab-org/gitlab/-/issues/24759) .
如果您续订或升级,您的数据将再次可访问.
### Self-managed GitLab data[](#self-managed-gitlab-data "Permalink")
对于自我管理的客户,有 14 天的宽限期,您的功能将继续按原样运行,此后整个实例将变为只读状态.
但是,如果删除许可证,您将立即恢复为核心功能,并且实例将再次被读取/写入.
## CI pipeline minutes[](#ci-pipeline-minutes "Permalink")
CI 管道分钟数是您在 GitLab 共享运行程序上的[管道](../ci/pipelines/index.html)的执行时间. 每个[GitLab.com 层均](https://about.gitlab.com/pricing/)包含 CI 管道分钟的每月配额:
* 免费:2,000 分钟
* 青铜:2,000 分钟
* Silver: 10,000 minutes
* 金牌:50,000 分钟
配额适用于:
* 组,其中在组的所有成员,其子组和嵌套项目之间共享分钟. 要查看该组的使用情况,请导航至该组,然后 **设置** > **使用配额** .
* 您的个人帐户,其中可用于您的个人项目的纪要. 要查看和购买个人会议记录,请点击您的头像,然后 **设置** > **[使用配额](https://gitlab.com/profile/usage_quotas#pipelines-quota-tab)** .
只有 GitLab 共享运行程序的管道时间受到限制. 如果您为项目设置了特定的运行器,则在 GitLab.com 上的构建时间没有限制.
可用配额在每个日历月的第一个 UTC 午夜重置.
CI 分钟数用完后,会自动发送一封电子邮件以通知名称空间的所有者. 您可以[购买其他 CI 分钟](#purchasing-additional-ci-minutes) ,或者将帐户升级为[Silver 或 Gold](https://about.gitlab.com/pricing/) . 即使您达到极限,仍然可以使用您自己的跑步者.
### Purchasing additional CI minutes[](#purchasing-additional-ci-minutes "Permalink")
如果您使用的是 GitLab.com,则可以购买额外的 CI 分钟,这样在使用完您的主要配额中的所有 CI 分钟后,管道不会被阻塞. 您可以在[GitLab 客户门户中](https://customers.gitlab.com/plans)找到其他 CI / CD 分钟的价格. 其他分钟:
* 仅在订阅中包含的共享配额用完后才使用.
* 逐月滚动.
要在 GitLab.com 上为您的小组购买更多时间:
1. 在您的小组中,转到 **设置>使用配额** .
2. 选择**购买其他分钟** ,您将被带到客户门户.
3. 在 GitLab.com 上找到与您的小组链接的订阅卡,单击" **购买更多 CI 分钟"** ,然后完成有关交易的详细信息.
4. 处理完您的付款后,多余的 CI 分钟将同步到您的组名称空间.
5. 要确认可用的 CI 分钟,请转到您的小组,然后 **设置>使用配额** .
The **额外的分钟** displayed now includes the purchased additional CI minutes, plus any minutes rolled over from last month.
要为您的个人命名空间购买更多分钟,请执行以下操作:
1. 单击您的头像,然后转到**设置>使用配额** .
2. 选择**购买其他分钟** ,您将被带到客户门户.
3. 在 GitLab.com 上找到链接到您的个人命名空间的订阅卡,单击" **购买更多 CI 分钟"** ,然后完成有关交易的详细信息. 我们处理完您的付款后,多余的 CI 分钟将同步到您的个人名称空间.
4. 要确认您的个人项目可用的 CI 分钟,请单击您的头像,然后转到**设置>使用配额** .
现在显示的" **其他分钟"**包括已购买的其他配置项分钟,以及上个月结转的所有分钟.
意识到:
* 如果您在购买付费计划之前购买了额外的 CI 分钟数,我们将为您的付费计划按比例计算费用. 这意味着您可能需要不到一年的费用,因为您之前是使用额外的 CI 分钟创建订阅的.
* 一旦将额外的 CI 分钟分配给一个组,就无法将其转移到另一个组.
* 如果您使用的分钟数超出了默认配额,则这些分钟数将在您购买额外的分钟数后立即从"其他分钟数"配额中扣除.
## Contact Support[](#contact-support "Permalink")
我们还鼓励所有用户在项目跟踪器中搜索[GitLab](https://gitlab.com/gitlab-org/gitlab/-/issues/)项目中的已知问题和现有功能要求.
这些问题是获取特定产品计划的更新以及直接与相关 GitLab 团队成员进行沟通的最佳途径.
学习更多关于:
* [GitLab 支持](https://about.gitlab.com/support/)的层次.
* [Submit a request via the Support Portal](https://support.gitlab.com/hc/en-us/requests/new).
## GitLab for Education subscriptions[](#gitlab-for-education-subscriptions "Permalink")
要续订[GitLab for Education](https://about.gitlab.com/solutions/education/)订阅,请发送电子邮件至`education@gitlab.com`其中包含以下信息:
1. 续订的座位数. 您可以根据需要添加座位.
2. 许可证的用例. 具体来说,我们需要验证其使用是否符合《 [最终用户许可协议》](https://about.gitlab.com/terms/#edu-oss)的条件. 请注意,大学的基础设施运营和信息技术运营不在教育计划的规定范围之内. 有关详细信息,请参见" [教育常见问题解答"](https://about.gitlab.com/solutions/education/#FAQ) .
3. 要签署续订报价的主要联系人的全名,电子邮件地址和电话号码. 只有代表大学的具有适当签署权的教职员工签署才能被接受.
收到上述信息后,我们将处理请求并返回续签以供签名. 请至少等待 2 个工作日才能退货. 如有任何问题,请发送电子邮件至`education@gitlab.com` .
## GitLab for Open Source subscriptions[](#gitlab-for-open-source-subscriptions "Permalink")
所有的[GitLab for Open Source](https://about.gitlab.com/solutions/open-source/program/)请求(包括订阅续订)都必须通过应用程序进行. 如有任何疑问,请发送电子邮件至`opensource@gitlab.com`寻求帮助.
- GitLab Docs
- Installation
- Requirements
- GitLab cloud native Helm Chart
- Install GitLab with Docker
- Installation from source
- Install GitLab on Microsoft Azure
- Installing GitLab on Google Cloud Platform
- Installing GitLab on Amazon Web Services (AWS)
- Analytics
- Code Review Analytics
- Productivity Analytics
- Value Stream Analytics
- Kubernetes clusters
- Adding and removing Kubernetes clusters
- Adding EKS clusters
- Adding GKE clusters
- Group-level Kubernetes clusters
- Instance-level Kubernetes clusters
- Canary Deployments
- Cluster Environments
- Deploy Boards
- GitLab Managed Apps
- Crossplane configuration
- Cluster management project (alpha)
- Kubernetes Logs
- Runbooks
- Serverless
- Deploying AWS Lambda function using GitLab CI/CD
- Securing your deployed applications
- Groups
- Contribution Analytics
- Custom group-level project templates
- Epics
- Manage epics
- Group Import/Export
- Insights
- Issues Analytics
- Iterations
- Public access
- SAML SSO for GitLab.com groups
- SCIM provisioning using SAML SSO for GitLab.com groups
- Subgroups
- Roadmap
- Projects
- GitLab Secure
- Security Configuration
- Container Scanning
- Dependency Scanning
- Dependency List
- Static Application Security Testing (SAST)
- Secret Detection
- Dynamic Application Security Testing (DAST)
- GitLab Security Dashboard
- Offline environments
- Standalone Vulnerability pages
- Security scanner integration
- Badges
- Bulk editing issues and merge requests at the project level
- Code Owners
- Compliance
- License Compliance
- Compliance Dashboard
- Create a project
- Description templates
- Deploy Keys
- Deploy Tokens
- File finder
- Project integrations
- Integrations
- Atlassian Bamboo CI Service
- Bugzilla Service
- Custom Issue Tracker service
- Discord Notifications service
- Enabling emails on push
- GitHub project integration
- Hangouts Chat service
- Atlassian HipChat
- Irker IRC Gateway
- GitLab Jira integration
- Mattermost Notifications Service
- Mattermost slash commands
- Microsoft Teams service
- Mock CI Service
- Prometheus integration
- Redmine Service
- Slack Notifications Service
- Slack slash commands
- GitLab Slack application
- Webhooks
- YouTrack Service
- Insights
- Issues
- Crosslinking Issues
- Design Management
- Confidential issues
- Due dates
- Issue Boards
- Issue Data and Actions
- Labels
- Managing issues
- Milestones
- Multiple Assignees for Issues
- Related issues
- Service Desk
- Sorting and ordering issue lists
- Issue weight
- Associate a Zoom meeting with an issue
- Merge requests
- Allow collaboration on merge requests across forks
- Merge Request Approvals
- Browser Performance Testing
- How to create a merge request
- Cherry-pick changes
- Code Quality
- Load Performance Testing
- Merge Request dependencies
- Fast-forward merge requests
- Merge when pipeline succeeds
- Merge request conflict resolution
- Reverting changes
- Reviewing and managing merge requests
- Squash and merge
- Merge requests versions
- Draft merge requests
- Members of a project
- Migrating projects to a GitLab instance
- Import your project from Bitbucket Cloud to GitLab
- Import your project from Bitbucket Server to GitLab
- Migrating from ClearCase
- Migrating from CVS
- Import your project from FogBugz to GitLab
- Gemnasium
- Import your project from GitHub to GitLab
- Project importing from GitLab.com to your private GitLab instance
- Import your project from Gitea to GitLab
- Import your Jira project issues to GitLab
- Migrating from Perforce Helix
- Import Phabricator tasks into a GitLab project
- Import multiple repositories by uploading a manifest file
- Import project from repo by URL
- Migrating from SVN to GitLab
- Migrating from TFVC to Git
- Push Options
- Releases
- Repository
- Branches
- Git Attributes
- File Locking
- Git file blame
- Git file history
- Repository mirroring
- Protected branches
- Protected tags
- Push Rules
- Reduce repository size
- Signing commits with GPG
- Syntax Highlighting
- GitLab Web Editor
- Web IDE
- Requirements Management
- Project settings
- Project import/export
- Project access tokens (Alpha)
- Share Projects with other Groups
- Snippets
- Static Site Editor
- Wiki
- Project operations
- Monitor metrics for your CI/CD environment
- Set up alerts for Prometheus metrics
- Embedding metric charts within GitLab-flavored Markdown
- Embedding Grafana charts
- Using the Metrics Dashboard
- Dashboard YAML properties
- Metrics dashboard settings
- Panel types for dashboards
- Using Variables
- Templating variables for metrics dashboards
- Prometheus Metrics library
- Monitoring AWS Resources
- Monitoring HAProxy
- Monitoring Kubernetes
- Monitoring NGINX
- Monitoring NGINX Ingress Controller
- Monitoring NGINX Ingress Controller with VTS metrics
- Alert Management
- Error Tracking
- Tracing
- Incident Management
- GitLab Status Page
- Feature Flags
- GitLab CI/CD
- GitLab CI/CD pipeline configuration reference
- GitLab CI/CD include examples
- Introduction to CI/CD with GitLab
- Getting started with GitLab CI/CD
- How to enable or disable GitLab CI/CD
- Using SSH keys with GitLab CI/CD
- Migrating from CircleCI
- Migrating from Jenkins
- Auto DevOps
- Getting started with Auto DevOps
- Requirements for Auto DevOps
- Customizing Auto DevOps
- Stages of Auto DevOps
- Upgrading PostgreSQL for Auto DevOps
- Cache dependencies in GitLab CI/CD
- GitLab ChatOps
- Cloud deployment
- Docker integration
- Building Docker images with GitLab CI/CD
- Using Docker images
- Building images with kaniko and GitLab CI/CD
- GitLab CI/CD environment variables
- Predefined environment variables reference
- Where variables can be used
- Deprecated GitLab CI/CD variables
- Environments and deployments
- Protected Environments
- GitLab CI/CD Examples
- Test a Clojure application with GitLab CI/CD
- Using Dpl as deployment tool
- Testing a Phoenix application with GitLab CI/CD
- End-to-end testing with GitLab CI/CD and WebdriverIO
- DevOps and Game Dev with GitLab CI/CD
- Deploy a Spring Boot application to Cloud Foundry with GitLab CI/CD
- How to deploy Maven projects to Artifactory with GitLab CI/CD
- Testing PHP projects
- Running Composer and NPM scripts with deployment via SCP in GitLab CI/CD
- Test and deploy Laravel applications with GitLab CI/CD and Envoy
- Test and deploy a Python application with GitLab CI/CD
- Test and deploy a Ruby application with GitLab CI/CD
- Test and deploy a Scala application to Heroku
- GitLab CI/CD for external repositories
- Using GitLab CI/CD with a Bitbucket Cloud repository
- Using GitLab CI/CD with a GitHub repository
- GitLab Pages
- GitLab Pages
- GitLab Pages domain names, URLs, and baseurls
- Create a GitLab Pages website from scratch
- Custom domains and SSL/TLS Certificates
- GitLab Pages integration with Let's Encrypt
- GitLab Pages Access Control
- Exploring GitLab Pages
- Incremental Rollouts with GitLab CI/CD
- Interactive Web Terminals
- Optimizing GitLab for large repositories
- Metrics Reports
- CI/CD pipelines
- Pipeline Architecture
- Directed Acyclic Graph
- Multi-project pipelines
- Parent-child pipelines
- Pipelines for Merge Requests
- Pipelines for Merged Results
- Merge Trains
- Job artifacts
- Pipeline schedules
- Pipeline settings
- Triggering pipelines through the API
- Review Apps
- Configuring GitLab Runners
- GitLab CI services examples
- Using MySQL
- Using PostgreSQL
- Using Redis
- Troubleshooting CI/CD
- GitLab Package Registry
- GitLab Container Registry
- Dependency Proxy
- GitLab Composer Repository
- GitLab Conan Repository
- GitLab Maven Repository
- GitLab NPM Registry
- GitLab NuGet Repository
- GitLab PyPi Repository
- API Docs
- API resources
- .gitignore API
- GitLab CI YMLs API
- Group and project access requests API
- Appearance API
- Applications API
- Audit Events API
- Avatar API
- Award Emoji API
- Project badges API
- Group badges API
- Branches API
- Broadcast Messages API
- Project clusters API
- Group clusters API
- Instance clusters API
- Commits API
- Container Registry API
- Custom Attributes API
- Dashboard annotations API
- Dependencies API
- Deploy Keys API
- Deployments API
- Discussions API
- Dockerfiles API
- Environments API
- Epics API
- Events
- Feature Flags API
- Feature flag user lists API
- Freeze Periods API
- Geo Nodes API
- Group Activity Analytics API
- Groups API
- Import API
- Issue Boards API
- Group Issue Boards API
- Issues API
- Epic Issues API
- Issues Statistics API
- Jobs API
- Keys API
- Labels API
- Group Labels API
- License
- Licenses API
- Issue links API
- Epic Links API
- Managed Licenses API
- Markdown API
- Group and project members API
- Merge request approvals API
- Merge requests API
- Project milestones API
- Group milestones API
- Namespaces API
- Notes API
- Notification settings API
- Packages API
- Pages domains API
- Pipeline schedules API
- Pipeline triggers API
- Pipelines API
- Project Aliases API
- Project import/export API
- Project repository storage moves API
- Project statistics API
- Project templates API
- Projects API
- Protected branches API
- Protected tags API
- Releases API
- Release links API
- Repositories API
- Repository files API
- Repository submodules API
- Resource label events API
- Resource milestone events API
- Resource weight events API
- Runners API
- SCIM API
- Search API
- Services API
- Application settings API
- Sidekiq Metrics API
- Snippets API
- Project snippets
- Application statistics API
- Suggest Changes API
- System hooks API
- Tags API
- Todos API
- Users API
- Project-level Variables API
- Group-level Variables API
- Version API
- Vulnerabilities API
- Vulnerability Findings API
- Wikis API
- GraphQL API
- Getting started with GitLab GraphQL API
- GraphQL API Resources
- API V3 to API V4
- Validate the .gitlab-ci.yml (API)
- User Docs
- Abuse reports
- User account
- Active sessions
- Deleting a User account
- Permissions
- Personal access tokens
- Profile preferences
- Threads
- GitLab and SSH keys
- GitLab integrations
- Git
- GitLab.com settings
- Infrastructure as code with Terraform and GitLab
- GitLab keyboard shortcuts
- GitLab Markdown
- AsciiDoc
- GitLab Notification Emails
- GitLab Quick Actions
- Autocomplete characters
- Reserved project and group names
- Search through GitLab
- Advanced Global Search
- Advanced Syntax Search
- Time Tracking
- GitLab To-Do List
- Administrator Docs
- Reference architectures
- Reference architecture: up to 1,000 users
- Reference architecture: up to 2,000 users
- Reference architecture: up to 3,000 users
- Reference architecture: up to 5,000 users
- Reference architecture: up to 10,000 users
- Reference architecture: up to 25,000 users
- Reference architecture: up to 50,000 users
- Troubleshooting a reference architecture set up
- Working with the bundled Consul service
- Configuring PostgreSQL for scaling
- Configuring GitLab application (Rails)
- Load Balancer for multi-node GitLab
- Configuring a Monitoring node for Scaling and High Availability
- NFS
- Working with the bundled PgBouncer service
- Configuring Redis for scaling
- Configuring Sidekiq
- Admin Area settings
- Continuous Integration and Deployment Admin settings
- Custom instance-level project templates
- Diff limits administration
- Enable and disable GitLab features deployed behind feature flags
- Geo nodes Admin Area
- GitLab Pages administration
- Health Check
- Job logs
- Labels administration
- Log system
- PlantUML & GitLab
- Repository checks
- Repository storage paths
- Repository storage types
- Account and limit settings
- Service templates
- System hooks
- Changing your time zone
- Uploads administration
- Abuse reports
- Activating and deactivating users
- Audit Events
- Blocking and unblocking users
- Broadcast Messages
- Elasticsearch integration
- Gitaly
- Gitaly Cluster
- Gitaly reference
- Monitoring GitLab
- Monitoring GitLab with Prometheus
- Performance Bar
- Usage statistics
- Object Storage
- Performing Operations in GitLab
- Cleaning up stale Redis sessions
- Fast lookup of authorized SSH keys in the database
- Filesystem Performance Benchmarking
- Moving repositories managed by GitLab
- Run multiple Sidekiq processes
- Sidekiq MemoryKiller
- Switching to Puma
- Understanding Unicorn and unicorn-worker-killer
- User lookup via OpenSSH's AuthorizedPrincipalsCommand
- GitLab Package Registry administration
- GitLab Container Registry administration
- Replication (Geo)
- Geo database replication
- Geo with external PostgreSQL instances
- Geo configuration
- Using a Geo Server
- Updating the Geo nodes
- Geo with Object storage
- Docker Registry for a secondary node
- Geo for multiple nodes
- Geo security review (Q&A)
- Location-aware Git remote URL with AWS Route53
- Tuning Geo
- Removing secondary Geo nodes
- Geo data types support
- Geo Frequently Asked Questions
- Geo Troubleshooting
- Geo validation tests
- Disaster Recovery (Geo)
- Disaster recovery for planned failover
- Bring a demoted primary node back online
- Automatic background verification
- Rake tasks
- Back up and restore GitLab
- Clean up
- Namespaces
- Maintenance Rake tasks
- Geo Rake Tasks
- GitHub import
- Import bare repositories
- Integrity check Rake task
- LDAP Rake tasks
- Listing repository directories
- Praefect Rake tasks
- Project import/export administration
- Repository storage Rake tasks
- Generate sample Prometheus data
- Uploads migrate Rake tasks
- Uploads sanitize Rake tasks
- User management
- Webhooks administration
- X.509 signatures
- Server hooks
- Static objects external storage
- Updating GitLab
- GitLab release and maintenance policy
- Security
- Password Storage
- Custom password length limits
- Restrict allowed SSH key technologies and minimum length
- Rate limits
- Webhooks and insecure internal web services
- Information exclusivity
- How to reset your root password
- How to unlock a locked user from the command line
- User File Uploads
- How we manage the TLS protocol CRIME vulnerability
- User email confirmation at sign-up
- Security of running jobs
- Proxying assets
- CI/CD Environment Variables
- Contributor and Development Docs
- Contribute to GitLab
- Community members & roles
- Implement design & UI elements
- Issues workflow
- Merge requests workflow
- Code Review Guidelines
- Style guides
- GitLab Architecture Overview
- CI/CD development documentation
- Database guides
- Database Review Guidelines
- Database Review Guidelines
- Migration Style Guide
- What requires downtime?
- Understanding EXPLAIN plans
- Rake tasks for developers
- Mass inserting Rails models
- GitLab Documentation guidelines
- Documentation Style Guide
- Documentation structure and template
- Documentation process
- Documentation site architecture
- Global navigation
- GitLab Docs monthly release process
- Telemetry Guide
- Usage Ping Guide
- Snowplow Guide
- Experiment Guide
- Feature flags in development of GitLab
- Feature flags process
- Developing with feature flags
- Feature flag controls
- Document features deployed behind feature flags
- Frontend Development Guidelines
- Accessibility & Readability
- Ajax
- Architecture
- Axios
- Design Patterns
- Frontend Development Process
- DropLab
- Emojis
- Filter
- Frontend FAQ
- GraphQL
- Icons and SVG Illustrations
- InputSetter
- Performance
- Principles
- Security
- Tooling
- Vuex
- Vue
- Geo (development)
- Geo self-service framework (alpha)
- Gitaly developers guide
- GitLab development style guides
- API style guide
- Go standards and style guidelines
- GraphQL API style guide
- Guidelines for shell commands in the GitLab codebase
- HTML style guide
- JavaScript style guide
- Migration Style Guide
- Newlines style guide
- Python Development Guidelines
- SCSS style guide
- Shell scripting standards and style guidelines
- Sidekiq debugging
- Sidekiq Style Guide
- SQL Query Guidelines
- Vue.js style guide
- Instrumenting Ruby code
- Testing standards and style guidelines
- Flaky tests
- Frontend testing standards and style guidelines
- GitLab tests in the Continuous Integration (CI) context
- Review Apps
- Smoke Tests
- Testing best practices
- Testing levels
- Testing Rails migrations at GitLab
- Testing Rake tasks
- End-to-end Testing
- Beginner's guide to writing end-to-end tests
- End-to-end testing Best Practices
- Dynamic Element Validation
- Flows in GitLab QA
- Page objects in GitLab QA
- Resource class in GitLab QA
- Style guide for writing end-to-end tests
- Testing with feature flags
- Translate GitLab to your language
- Internationalization for GitLab
- Translating GitLab
- Proofread Translations
- Merging translations from CrowdIn
- Value Stream Analytics development guide
- GitLab subscription
- Activate GitLab EE with a license