# Groups
> 原文:[https://docs.gitlab.com/ee/user/group/](https://docs.gitlab.com/ee/user/group/)
* [Use cases](#use-cases)
* [Namespaces](#namespaces)
* [Issues and merge requests within a group](#issues-and-merge-requests-within-a-group)
* [Bulk editing issues and merge requests](#bulk-editing-issues-and-merge-requests)
* [Create a new group](#create-a-new-group)
* [Add users to a group](#add-users-to-a-group)
* [Request access to a group](#request-access-to-a-group)
* [Changing the owner of a group](#changing-the-owner-of-a-group)
* [Remove a member from the group](#remove-a-member-from-the-group)
* [Changing the default branch protection of a group](#changing-the-default-branch-protection-of-a-group)
* [Add projects to a group](#add-projects-to-a-group)
* [Default project-creation level](#default-project-creation-level)
* [View group details](#view-group-details)
* [Group activity analytics overview](#group-activity-analytics-overview)
* [View group activity](#view-group-activity)
* [Transfer projects into groups](#transfer-projects-into-groups)
* [Sharing a project with a group](#sharing-a-project-with-a-group)
* [Sharing a group with another group](#sharing-a-group-with-another-group)
* [Manage group memberships via LDAP](#manage-group-memberships-via-ldap)
* [Creating group links via CN](#creating-group-links-via-cn-starter-only)
* [Creating group links via filter](#creating-group-links-via-filter-premium-only)
* [Overriding user permissions](#overriding-user-permissions-starter-only)
* [Epics](#epics-ultimate)
* [Group Security Dashboard](#group-security-dashboard-ultimate)
* [Insights](#insights-ultimate)
* [Transferring groups](#transferring-groups)
* [Group settings](#group-settings)
* [General settings](#general-settings)
* [Changing a group’s path](#changing-a-groups-path)
* [Remove a group](#remove-a-group)
* [Restore a group](#restore-a-group-premium)
* [Enforce 2FA to group members](#enforce-2fa-to-group-members)
* [Share with group lock](#share-with-group-lock)
* [Member Lock](#member-lock-starter)
* [IP access restriction](#ip-access-restriction-premium)
* [Allowed domain restriction](#allowed-domain-restriction-premium)
* [Group file templates](#group-file-templates-premium)
* [Group-level project templates](#group-level-project-templates-premium)
* [Disabling email notifications](#disabling-email-notifications)
* [Disabling group mentions](#disabling-group-mentions)
* [Enabling delayed Project removal](#enabling-delayed-project-removal-premium)
* [Advanced settings](#advanced-settings)
* [Storage usage quota](#storage-usage-quota-starter)
* [Group push rules](#group-push-rules-starter)
* [Enabling the feature](#enabling-the-feature)
* [Maximum artifacts size](#maximum-artifacts-size-core-only)
* [User contribution analysis](#user-contribution-analysis-starter)
* [Issues analytics](#issues-analytics-premium)
* [Dependency Proxy](#dependency-proxy-premium)
# Groups[](#groups "Permalink")
使用 GitLab 組,您可以:
* 將相關項目組裝在一起.
* 授予成員一次訪問多個項目的權限.
有關 GitLab 組的視頻介紹,請參見[GitLab 大學:存儲庫,項目和組](https://www.youtube.com/watch?v=4TWfh1aKHHw) .
組也可以嵌套在[子組中](subgroups/index.html) .
通過單擊頂部導航中的**組>您的組**來找到您的組.
[](img/groups.png)
[GitLab 11.1](https://about.gitlab.com/releases/2018/07/22/gitlab-11-1-released/#groups-dropdown-in-navigation)中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/36234)了頂部導航中的" **組"**下拉列表.
" **組"**頁面顯示:
* 選擇**您的組**后, **您將**是**您**所屬的所有組.
* 選中" **瀏覽公共組"**時的公共組列表.
" **組"**頁面上的每個組都列出了:
* 它有多少個子組.
* 它包含多少個項目.
* 該組有多少個成員,不包括從父組繼承的成員.
* 小組的知名度.
* 如果您具有足夠的權限,則指向組設置的鏈接.
* 如果您是成員,則退出該組的鏈接.
## Use cases[](#use-cases "Permalink")
您可以出于多種原因創建組. 列舉幾個:
* 通過在同一[名稱空間](#namespaces)下組織相關項目并將成員添加到頂級組,可以以較少的步驟授予對多個項目和多個團隊成員的訪問權限.
* 通過創建小組并包括適當的成員,可以輕松地`@mention`所有團隊中的問題并合并請求.
例如,您可以為公司成員創建一個[組](subgroups/index.html) ,并為每個單獨的團隊創建一個[子](subgroups/index.html)組. 假設您創建了一個名為`company-team` ,并且在該組中為各個團隊`backend-team` , `frontend-team`和`production-team`創建了子組.
* 從問題開始新的實現時,請添加評論: *" `@company-team` ,讓我們開始吧!* *`@company-team/backend-team`您很高興!"*
* 當您的后端團隊需要前端提供幫助時,他們會添加一條評論: *" `@company-team/frontend-team`您能在這里幫助我們嗎?"*
* 前端團隊完成實施后,他們會評論: *" `@company-team/backend-team` ,它已經完成!* *讓我們將其運送到`@company-team/production-team` !*
## Namespaces[](#namespaces "Permalink")
在 GitLab 中,名稱空間是用作用戶名,組名或子組名的唯一名稱.
* `http://gitlab.example.com/username`
* `http://gitlab.example.com/groupname`
* `http://gitlab.example.com/groupname/subgroup_name`
例如,考慮一個名為 Alex 的用戶:
1. Alex 在 GitLab.com 上使用用戶名`alex`創建了一個帳戶; 他們的個人資料將在`https://gitlab.example.com/alex`下訪問
2. Alex 為他們的團隊創建了一個小組,小組名稱為`alex-team` ; 該小組及其項目將在`https://gitlab.example.com/alex-team`下訪問
3. 亞歷克斯(Alex)創建了一個亞歷克斯小組( `alex-team`子`alex-team` ,其子小組名稱為`marketing` ; 該子小組及其項目將在`https://gitlab.example.com/alex-team/marketing`下訪問
通過這樣做:
* 任何團隊成員都使用`@alex`提及 Alex
* 亞歷克斯通過`@alex-team`提及了團隊中的每個人
* 亞歷克斯只提及`@alex-team/marketing`
## Issues and merge requests within a group[](#issues-and-merge-requests-within-a-group "Permalink")
問題和合并請求是項目的一部分. 對于給定的組,您可以在單個列表視圖中查看所有[問題](../project/issues/index.html#issues-list)并將該組中所有項目的[請求合并](../project/merge_requests/reviewing_and_managing_merge_requests.html#view-merge-requests-for-all-projects-in-a-group)在一起.
### Bulk editing issues and merge requests[](#bulk-editing-issues-and-merge-requests "Permalink")
有關詳細信息,請參閱[批量編輯問題和合并請求](../group/bulk_editing/index.html) .
## Create a new group[](#create-a-new-group "Permalink")
> 有關不允許用作組名的單詞列表,請參見[保留名稱](../reserved_names.html) .
要創建新組,請執行以下任一操作:
* 在頂部菜單中,依次單擊" **組"**和" **您的組"** ,然后單擊綠色按鈕" **新建組"** .
[](img/new_group_from_groups.png)
* 或者,在頂部菜單中,展開`plus`號并選擇**新建組** .
[](img/new_group_from_other_pages.png)
添加以下信息:
[](img/create_new_group_info.png)
1. **組名將**自動填充 URL. (可選)您可以更改它. 這是在組視圖中顯示的名稱. 該名稱只能包含:
* 字母數字字符
* 下劃線
* 劃線和點
* 空間
2. **組 URL**是將托管項目的名稱空間. 該網址只能包含:
* 字母數字字符
* 下劃線
* 破折號和點(不能以破折號開頭或以點結尾)
3. (可選)您可以添加簡短說明,以告訴其他人該組的內容.
4. (可選)為您的群組選擇一個頭像.
5. Choose the [visibility level](../../public_access/public_access.html).
有關創建組的更多詳細信息,請觀看視頻[GitLab 命名空間(用戶,組和子組)](https://youtu.be/r0sJgjR2f5A) .
## Add users to a group[](#add-users-to-a-group "Permalink")
將多個項目放在一個組中的好處是,您可以通過一個操作就授予用戶訪問該組中所有項目的權限.
通過導航到組的儀表板并單擊**Members**將成員添加到組.
[](img/add_new_members.png)
選擇[權限級別](../permissions.html#permissions) ,然后添加新成員. 您還可以設置該用戶的到期日期. 這是他們將不再有權訪問您的網上論壇的日期.
考慮一個有兩個項目的小組:
* 現在,在" **組成員"**頁面上,可以將新用戶添加到組中.
* 現在,由于該用戶是該組的**開發人員**成員,因此他們自動獲得**開發人員**對該組內**所有項目的**訪問權限.
要提高特定項目的現有用戶的訪問級別,請將其作為新成員再次添加到具有所需權限級別的項目中.
## Request access to a group[](#request-access-to-a-group "Permalink")
作為論壇所有者,您可以啟用或禁用非會員請求訪問您論壇的功能. 轉到組設置,然后單擊**允許用戶請求訪問權限** .
作為用戶,如果啟用了該設置,則可以請求成為組的成員. 轉到您要加入的組,然后單擊屏幕右側的" **請求訪問**權"按鈕.
[](img/request_access_button.png)
請求訪問后:
* 通過電子郵件將多達十個群組所有者的通知通知您. 電子郵件將發送給最近活動的組所有者.
* 任何論壇所有者都可以在會員頁面上批準或拒絕您的請求.
[](img/access_requests_management.png)
如果您在批準請求之前改變主意,只需單擊" **撤回訪問請求"**按鈕.
[](img/withdraw_access_request_button.png)
## Changing the owner of a group[](#changing-the-owner-of-a-group "Permalink")
Ownership of a group means at least one of its members has [Owner permission](../permissions.html#group-members-permissions). Groups must have at least one owner.
可以只更改一個所有者的組所有者. 更改組的唯一所有者:
* 作為管理員:
1. 前往小組的 **成員**選項卡.
2. 賦予其他成員**所有者**權限.
3. 刷新頁面. 現在,您可以從原始所有者中刪除**所有者**權限.
* 作為當前組的所有者:
1. 前往小組的 **成員**選項卡.
2. 賦予其他成員**所有者**權限.
3. 讓新的所有者登錄并從您中刪除**所有者**權限.
## Remove a member from the group[](#remove-a-member-from-the-group "Permalink")
只有[擁有所有者](../permissions.html#group-members-permissions)權限的[用戶](../permissions.html#group-members-permissions)才能管理組成員.
如果給定成員在該組中具有直接成員資格,則可以從該組中刪除該成員. 如果成員資格是從父組繼承的,則該成員只能從父組本身中刪除.
刪除成員時,您可以決定是從所有問題中取消分配用戶,還是合并當前已分配的請求,還是保留分配.
* 當用戶離開私人組并且您希望撤消他們對所有問題的訪問并分配他們的合并請求時,從所有問題和合并請求中**取消分配已刪除的成員**可能會有所幫助.
* **保留問題和合并請求的分配**可能對于接受公共貢獻的組很有幫助,在這些組中,用戶不必是成員就可以為問題和合并請求做出貢獻.
要從組中刪除成員:
1. 在一個小組中,轉到 **成員們** .
2. 點擊**刪除** 要刪除的群組成員旁邊的按鈕. 出現" **刪除成員"**模態.
3. (可選)選中" **也從相關問題中取消分配此用戶并合并請求"**復選框.
4. Click **刪除會員**.
## Changing the default branch protection of a group[](#changing-the-default-branch-protection-of-a-group "Permalink")
在 GitLab 12.9 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7583) .
默認情況下,每個組都繼承全局級別的分支保護集.
要為特定組更改此設置:
1. 前往小組的 **設置>常規**頁面.
2. 展開" **權限,LFS,2FA"**部分.
3. 在" **默認分支保護"**下拉列表中選擇所需的選項.
4. Click **保存更改**.
要全局更改此設置,請參閱[默認分支保護](../admin_area/settings/visibility_and_access_controls.html#default-branch-protection) .
**注意:**在[GitLab Premium 或更高版本中](https://about.gitlab.com/pricing/) ,GitLab 管理員可以選擇[禁止組所有者更新默認的分支保護](../admin_area/settings/visibility_and_access_controls.html#disable-group-owners-from-updating-default-branch-protection-premium-only) .
## Add projects to a group[](#add-projects-to-a-group "Permalink")
有兩種方法可以將新項目添加到組中:
* 選擇一個組,然后單擊" **新建項目"** . 然后,您可以繼續[創建您的項目](../../gitlab-basics/create-project.html) .
[](img/create_new_project_from_group.png)
* 在創建項目時,請從下拉菜單中選擇已經創建的組名稱空間.
[](img/select_group_dropdown.png)
### Default project-creation level[](#default-project-creation-level "Permalink")
版本歷史
* 在[GitLab Premium](https://about.gitlab.com/pricing/) 10.5 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/2534) .
* 在 10.7 中帶到[GitLab Starter](https://about.gitlab.com/pricing/) .
* 在 11.10 中[移至](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25975) [GitLab Core](https://about.gitlab.com/pricing/) .
默認情況下, [開發人員和維護人員](../permissions.html#group-members-permissions)可以在一個組下創建項目.
要為特定組更改此設置:
1. 轉到論壇的**設置>常規**頁面.
2. 展開" **權限,LFS,2FA"**部分.
3. 在" **允許創建項目"**下拉列表中選擇所需的選項.
4. Click **保存更改**.
要全局更改此設置,請參閱[默認項目創建保護](../admin_area/settings/visibility_and_access_controls.html#default-project-creation-protection) .
## View group details[](#view-group-details "Permalink")
組的" **詳細信息"**頁面包含以下選項卡:
* 小組和項目.
* 共享的項目.
* 存檔的項目.
### Group activity analytics overview[](#group-activity-analytics-overview "Permalink")
版本歷史
* 在 GitLab [Starter](https://about.gitlab.com/pricing/) 12.10 中作為[測試版功能](https://about.gitlab.com/handbook/product/#beta) [引入](https://gitlab.com/gitlab-org/gitlab/-/issues/207164)
組詳細信息視圖還顯示最近 90 天內創建的以下項目數:
* 合并請求.
* Issues.
* Members.
可以使用`group_activity_analytics` [功能標記](../../development/feature_flags/development.html#enabling-a-feature-flag-in-development)啟用這些組活動分析.
[](img/group_activity_analytics_v12_10.png)
有關詳細信息,請參閱有關如何[查看組活動的部分](#view-group-activity) .
## View group activity[](#view-group-activity "Permalink")
群組的" **活動"**頁面顯示群組中最近執行的操作,包括:
* **推送事件** :最近推送到分支.
* **合并事件** :最近合并.
* **發行事件** :已發行或已關閉的發行.
* **史詩般的事件** :史詩集開啟或關閉.
* **評論** :評論已打開或關閉.
* **小組** :已加入或離開小組的小組成員.
* **Wiki** :創建,刪除或更新的 Wiki.
單擊**RSS**圖標,還可以 Atom 格式獲得整個活動供稿.
要查看論壇的" **活動"**頁面,請執行以下操作:
1. 轉到論壇的頁面.
2. 在左側導航菜單中,轉到" **組概述",**然后選擇" **活動"** .
## Transfer projects into groups[](#transfer-projects-into-groups "Permalink")
了解如何[將項目轉移到小組中](../project/settings/index.html#transferring-an-existing-project-into-another-namespace) .
## Sharing a project with a group[](#sharing-a-project-with-a-group "Permalink")
您可以[與一個小組共享您的項目,](../project/members/share_project_with_groups.html)并向所有小組成員立即授予對該項目的訪問權限.
或者,您可以[鎖定共享與組功能](#share-with-group-lock) .
## Sharing a group with another group[](#sharing-a-group-with-another-group "Permalink")
在 GitLab 12.7 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/18328) .
與[與組共享項目](#sharing-a-project-with-a-group)類似,您可以與另一個組共享一個組,以使直接的組成員可以訪問共享的組. 這對于繼承的成員無效.
要將給定的組(例如"前端")與另一個組(例如"工程")共享:
1. 導航到"前端"群組頁面,然后使用左側的導航菜單轉到群組" **成員"** .
2. Select the **邀請小組** tab.
3. 以您選擇的最大訪問權限級別添加"工程".
4. Click **Invite**.
"工程"組的所有成員將被添加到"前端".
## Manage group memberships via LDAP[](#manage-group-memberships-via-ldap "Permalink")
組同步允許將 LDAP 組映射到 GitLab 組. 這樣可以更好地控制每組用戶的管理. 要配置組同步,請編輯`group_base` **DN** ( `'OU=Global Groups,OU=GitLab INT,DC=GitLab,DC=org'` ). 該**OU**包含將與 GitLab 組關聯的所有組.
可以使用 CN 或過濾器創建組鏈接. 這些組鏈接在**組設置-> LDAP 同步**頁面上創建. 配置鏈接后,用戶可能需要一個多小時才能與 GitLab 組進行同步.
有關 LDAP 和組同步管理的更多信息,請參閱[LDAP 主文檔](../../administration/auth/ldap/index.html#group-sync-starter-only) .
**注意:**如果在添加 LDAP 同步時 LDAP 用戶是組成員,并且它們不屬于 LDAP 組,則將從該組中將其刪除.
### Creating group links via CN[](#creating-group-links-via-cn-starter-only "Permalink")
通過 CN 創建群組鏈接:
1. 選擇**LDAP 服務器**作為鏈接.
2. 選擇`LDAP Group cn`作為**同步方法** .
3. 在" **LDAP 組 cn"**文本輸入框中,開始輸入組的 CN. 在配置的`group_base`中將有一個帶有匹配 CN 的下拉菜單. 從此列表中選擇您的 CN.
4. 在" **LDAP 訪問"**部分中,選擇在該組中同步的用戶的[權限級別](../permissions.html) .
5. 單擊`Add Synchronization`按鈕以保存該組鏈接.
[](img/ldap_sync_cn_v13_1.png)
### Creating group links via filter[](#creating-group-links-via-filter-premium-only "Permalink")
通過過濾器創建組鏈接:
1. 選擇**LDAP 服務器**作為鏈接.
2. 選擇`LDAP user filter`作為**Sync 方法** .
3. 在" **LDAP 用戶"過濾器**框中輸入過濾**器** . 請遵循[有關用戶過濾器](../../administration/auth/ldap/index.html#set-up-ldap-user-filter-core-only)的[文檔](../../administration/auth/ldap/index.html#set-up-ldap-user-filter-core-only) .
4. 在" **LDAP 訪問"**部分中,選擇在該組中同步的用戶的[權限級別](../permissions.html) .
5. 單擊`Add Synchronization`按鈕以保存該組鏈接.
[](img/ldap_sync_filter_v13_1.png)
### Overriding user permissions[](#overriding-user-permissions-starter-only "Permalink")
從 GitLab [v8.15 開始,](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/822) LDAP 用戶權限現在可以由管理員用戶手動覆蓋. 覆蓋用戶的權限:
1. 轉到您小組的" **成員"**頁面.
2. 在您要編輯的用戶的行中選擇鉛筆圖標.
3. 選擇橙色的`Change permissions`按鈕.
[](img/manual_permissions_v13_1.png)
現在,您將能夠從" **成員"**頁面編輯用戶的權限.
## Epics[](#epics-ultimate "Permalink")
在[GitLab Ultimate](https://about.gitlab.com/pricing/) 10.2 中引入.
Epics 通過跟蹤跨項目和里程碑共享主題的問題組,使您可以更有效,更輕松地管理項目組合.
[Learn more about Epics.](epics/index.html)
## Group Security Dashboard[](#group-security-dashboard-ultimate "Permalink")
概述組及其子組中所有項目的漏洞.
[Learn more about the Group Security Dashboard.](security_dashboard/index.html)
## Insights[](#insights-ultimate "Permalink")
[Introduced](https://gitlab.com/groups/gitlab-org/-/epics/725) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.0.
配置對您的組或項目重要的見解,使用戶可以瀏覽以下數據:
* 分診衛生
* 在給定期間內創建/關閉的問題
* 合并請求的平均合并時間
* 多得多
[Learn more about Insights](insights/index.html).
## Transferring groups[](#transferring-groups "Permalink")
在 GitLab 10.5 中,您可以通過以下方式轉移組:
* 將子組轉移到新的父組.
* 通過將頂級組轉移到所需的組,將其轉換為子組.
* Convert a subgroup into a top-level group by transferring it out of its current group.
轉移群組時,請注意:
* 更改組的父母可能會產生意想不到的副作用. 請參閱[更改存儲庫路徑時的重定向](../project/index.html#redirects-when-changing-repository-paths) .
* 您只能將群組轉移到您管理的群組中.
* 您必須更新本地存儲庫以指向新位置.
* If the immediate parent group’s visibility is lower than the group’s current visibility, visibility levels for subgroups and projects will change to match the new parent group’s visibility.
* 僅傳輸顯式組成員身份,不繼承繼承成員身份. 如果組的所有者僅繼承了成員身份,則該組將沒有所有者. 在這種情況下,轉移組的用戶將成為該組的所有者.
## Group settings[](#group-settings "Permalink")
創建群組后,您可以導航至該群組的信息中心,然后點擊**設置**來管理其設置.
[](img/group_settings.png)
### General settings[](#general-settings "Permalink")
除了編輯您在[創建組](#create-a-new-group)時先前設置的任何設置之外,您還可以訪問[該組的](#create-a-new-group)其他配置.
#### Changing a group’s path[](#changing-a-groups-path "Permalink")
更改組的路徑可能會有意想不到的副作用. 在繼續之前,請閱讀[重定向的行為](../project/index.html#redirects-when-changing-repository-paths) .
如果您要騰出路徑,以便其他組或用戶可以聲明該路徑,則由于名稱和路徑都必須是唯一的,因此您可能也需要重命名該組.
更改組路徑:
1. 導航到論壇的**"設置">"常規"**頁面.
2. 展開**路徑,傳輸,刪除**部分.
3. 在" **更改組路徑"**下輸入新名稱.
4. Click **變更群組路徑**.
**注意:**如果命名空間包含帶有[Container Registry](../packages/container_registry/index.html)標記的項目,則當前無法重命名該命名空間,因為該項目無法移動.**提示:**如果要保留對原始名稱空間的所有權并保護 URL 重定向,則可以更改一個組并向其傳輸項目,而無需更改組的路徑或重命名用戶名.
### Remove a group[](#remove-a-group "Permalink")
刪除組及其內容:
1. 導航到您小組的 **設置>常規**頁面.
2. 展開**路徑,傳輸,刪除**部分.
3. 在"刪除組"部分中,單擊" **刪除組"**按鈕.
4. 根據要求確認操作.
此操作要么:
* 刪除組,并且將后臺作業排隊以刪除該組中的所有項目.
* 從[GitLab 12.8 開始](https://gitlab.com/gitlab-org/gitlab/-/issues/33257) ,在[Premium 或 Silver](https://about.gitlab.com/pricing/premium/)或更高級別上,將一個組標記為刪除. 默認情況下,刪除將在 7 天后進行,但是可以在[實例設置中](../admin_area/settings/visibility_and_access_controls.html#default-deletion-adjourned-period-premium-only)進行更改.
### Restore a group[](#restore-a-group-premium "Permalink")
在 GitLab 12.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/33257) .
要還原標記為刪除的組:
1. 導航到您小組的 **設置>常規**頁面.
2. 展開**路徑,傳輸,刪除**部分.
3. 在"還原組"部分中,單擊" **還原組"**按鈕.
#### Enforce 2FA to group members[](#enforce-2fa-to-group-members "Permalink")
通過對所有組成員[強制執行兩因素身份驗證(2FA)](../../security/two_factor_authentication.html#enforcing-2fa-for-all-users-in-a-group) ,將安全層添加到您的組中.
#### Share with group lock[](#share-with-group-lock "Permalink")
防止一個組中[的項目與另一個組共享項目,](../project/members/share_project_with_groups.html)以便對項目訪問進行更嚴格的控制.
例如,假設您有兩個不同的團隊(A 組和 B 組)在一個項目中一起工作,并且要繼承該組成員身份,您可以在 A 組和 B 組之間共享項目. **使用組鎖共享**可以防止其中的任何項目該群組不會與其他群組共享,從而確保只有合適的群組成員才能訪問這些項目.
要啟用此功能,請導航至組設置頁面. 選擇" **使用組鎖定共享"**并**保存組** .
[](img/share_with_group_lock.png)
#### Member Lock[](#member-lock-starter "Permalink")
成員鎖定使組所有者可以阻止組中所有項目的任何新項目成員資格,從而可以更嚴格地控??制項目成員資格.
例如,如果要為" [審核事件"](../../administration/audit_events.html)鎖定組,請啟用"成員鎖定"以確保在該審核期間不能修改項目成員身份.
要啟用此功能:
1. 導航到組的**"設置">"常規"**頁面.
2. 展開" **權限,LFS,2FA"**部分,然后選擇" **成員鎖"** .
3. Click **保存更改**.
[](img/member_lock.png)
這將對以前有權操作項目成員資格的所有用戶禁用該選項,因此無法添加新用戶. 此外,將無法通過 API 向項目添加新用戶的任何請求.
#### IP access restriction[](#ip-access-restriction-premium "Permalink")
版本歷史
* 在[GitLab Ultimate 和 Gold](https://about.gitlab.com/pricing/) 12.0 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/1985) .
* 在 13.1 中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/215410) [GitLab Premium 和 Silver](https://about.gitlab.com/pricing/) .
為了確保只有組織內的人員可以訪問特定資源,您可以選擇通過 IP 地址限制對組及其基礎項目,問題等的訪問. 這可以幫助確保特定內容不會離開場所,同時又不會阻止對整個實例的訪問.
使用 CIDR 表示法將一個或多個允許的 IP 子網添加到組設置中,并且來自其他 IP 地址的任何人將無法訪問受限制的內容.
目前限制適用于:
* UI.
* [從 GitLab 12.3 開始](https://gitlab.com/gitlab-org/gitlab/-/issues/12874) ,可以訪問 API.
* [從 GitLab 12.4 開始](https://gitlab.com/gitlab-org/gitlab/-/issues/32113) ,Git 通過 SSH 進行操作.
為了避免意外鎖定,管理員和組所有者可以訪問組,而不受 IP 限制.
要啟用此功能:
1. 導航到組的**"設置">"常規"**頁面.
2. 展開" **權限,LFS,2FA"**部分,然后在" **允許訪問以下 IP 地址"**字段中輸入 IP 地址范圍.
3. Click **保存更改**.
#### Allowed domain restriction[](#allowed-domain-restriction-premium "Permalink")
版本歷史
* 在[GitLab Premium 和 Silver](https://about.gitlab.com/pricing/) 12.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/7297) .
* 支持指定 GitLab 13.1 中[引入的](https://gitlab.com/gitlab-org/gitlab/-/issues/33143)多個電子郵件域
通過僅將具有特定域中電子郵件地址的用戶添加到組中,可以限制對組的訪問.
添加您要允許的電子郵件域,并且不允許來自不同域的電子郵件用戶添加到該組.
某些域不能被限制. 這些是最受歡迎的公共電子郵件域,例如:
* `gmail.com`
* `yahoo.com`
* `hotmail.com`
* `aol.com`
* `msn.com`
* `hotmail.co.uk`
* `hotmail.fr`
* `live.com`
* `outlook.com`
* `icloud.com`
要啟用此功能:
1. 導航到組的**"設置">"常規"**頁面.
2. 展開" **權限,LFS,2FA"**部分,然后在" **通過電子郵件限制成員身份"**字段中輸入域名.
3. Click **保存更改**.
此后,將對所有添加到組中的新用戶啟用域檢查.
#### Group file templates[](#group-file-templates-premium "Permalink")
組文件模板使您可以與組中的每個項目共享一組通用文件類型的模板. 它類似于[實例模板存儲庫](../admin_area/settings/instance_template_repository.html)功能,所選項目應遵循該頁面上記錄的相同命名約定.
您只能在組中選擇項目作為模板源. 這包括與該組共享的項目,但**不包括**正在配置的組的子組或父組中的項目.
您可以為子組和直接父組配置此功能. 子組中的項目將有權訪問該子組以及任何直接父組的模板.
[](img/group_file_template_dropdown.png)
要啟用此功能,請導航至組設置頁面,展開" **模板"**部分,選擇一個項目作為模板存儲庫,然后選擇" **保存組"** .
[](img/group_file_template_settings.png)
#### Group-level project templates[](#group-level-project-templates-premium "Permalink")
通過將組設置為模板源,在組級別定義項目模板. [了解有關組級項目模板的更多信息](custom_project_templates.html) .
#### Disabling email notifications[](#disabling-email-notifications "Permalink")
在 GitLab 12.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/23585) .
您可以禁用與該組相關的所有電子郵件通知,其中包括其子組和項目.
要啟用此功能:
1. 導航到組的**"設置">"常規"**頁面.
2. 展開**權限,LFS,2FA**部分,然后選擇**禁用電子郵件通知** .
3. Click **保存更改**.
#### Disabling group mentions[](#disabling-group-mentions "Permalink")
在 GitLab 12.6 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/21301) .
您可以防止將用戶添加到對話中,并且在任何人提及這些用戶所屬的組時通知他們.
自動完成下拉列表中會相應地顯示提及被禁用的組.
這對于具有大量用戶的組特別有用.
要啟用此功能:
1. 導航到組的**"設置">"常規"**頁面.
2. 展開" **權限"," LFS,2FA"**部分,然后選擇" **禁用組提及"** .
3. Click **保存更改**.
#### Enabling delayed Project removal[](#enabling-delayed-project-removal-premium "Permalink")
在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/220382) .
默認情況下,組中的項目會立即刪除. (可選)在[Premium 或 Silver](https://about.gitlab.com/pricing/)或更高級別上,您可以將組內的項目配置為在延遲間隔后刪除.
在此間隔期間,項目將處于只讀狀態,并且可以根據需要還原. 間隔時間默認為 7 天,可以由管理員在[實例設置中](../admin_area/settings/visibility_and_access_controls.html#default-deletion-adjourned-period-premium-only)進行修改.
要啟用延遲刪除項目:
1. 導航到組的**"設置">"常規"**頁面.
2. 展開" **權限"," LFS,2FA"**部分,然后選中" **啟用延遲的項目刪除"** .
3. Click **保存更改**.
### Advanced settings[](#advanced-settings "Permalink")
* **項目** :查看該組中的所有項目,將成員添加到每個項目,訪問每個項目的設置,以及刪除任何項目,所有操作均在同一屏幕上進行.
* **Webhooks** :為您的組配置[webhooks](../project/integrations/webhooks.html) .
* **Kubernetes 集群集成** :將您的 GitLab 組與[Kubernetes 集群連接](clusters/index.html) .
* **審核事件** :查看該組的[審核事件](../../administration/audit_events.html) .
* **管道配額** :跟蹤組的[管道配額](../admin_area/settings/continuous_integration.html) .
#### Storage usage quota[](#storage-usage-quota-starter "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/13294) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.0.
組所有者可以在組頁面設置列表可用的" **使用配額"**頁面的" **存儲"**選項卡中,查看一個組(包括子組)中所有項目的聚合存儲使用情況.
[](img/group_storage_usage_quota.png)
如果觸發了任何會影響其值的相關事件(例如,提交推送),則將更新存儲的總使用量. 出于性能原因,我們可能會將更新延遲最多 1 小時 30 分鐘.
如果您的名稱空間顯示`N/A`作為總存儲使用量,則可以通過將提交推送到該名稱空間中的任何項目來觸發重新計算.
#### Group push rules[](#group-push-rules-starter "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/34370) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.8.
組推送規則允許組維護者為特定組內的新創建項目設置[推送規則](../../push_rules/push_rules.html) .
要為組配置推送規則,請導航至 在小組的側邊欄上.
設置后,新的子組將根據以下任一條件為其設置推送規則:
* 定義了推送規則的最接近的父組.
* 如果沒有父組定義推送規則,則在實例級別設置推送規則.
##### Enabling the feature[](#enabling-the-feature "Permalink")
默認情況下,此功能帶有`:group_push_rules`功能標記. 可以使用功能標記[API 端點](../../api/features.html#set-or-create-a-feature)或通過具有 Rails 控制臺訪問權限的 GitLab 管理員為特定組啟用它,方法是運行:
```
Feature.enable(:group_push_rules)
```
### Maximum artifacts size[](#maximum-artifacts-size-core-only "Permalink")
有關為組設置最大工件大小的信息,請參見[最大工件大小](../admin_area/settings/continuous_integration.html#maximum-artifacts-size-core-only) .
## User contribution analysis[](#user-contribution-analysis-starter "Permalink")
使用[GitLab Contribution Analytics](contribution_analytics/index.html) ,您可以概述組成員執行的貢獻(推送,合并請求和問題).
## Issues analytics[](#issues-analytics-premium "Permalink")
使用[GitLab Issues Analytics](issues_analytics/index.html) ,您可以查看組中每個月創建的問題數量的條形圖.
## Dependency Proxy[](#dependency-proxy-premium "Permalink")
使用 GitLab 作為上游 Docker 映像的[依賴項代理](../packages/dependency_proxy/index.html) .
- 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