Skip to content
代码片段 群组 项目
提交 d40a102c 编辑于 作者: John Cai's avatar John Cai
浏览文件

Monorepo Guide: rename to index.md

Rename optimize_settings.md to index.md to make it the root page for a
folder structure that will include subpages.
上级 bc1f3202
No related branches found
No related tags found
无相关合并请求
......@@ -214,7 +214,7 @@ See [Recommended cloud providers and services](index.md#recommended-cloud-provid
The reference architectures were tested with repositories of varying sizes that follow best practices.
**However, [large monorepos](../../user/project/repository/monorepos/optimize_settings.md) (several gigabytes or more) can significantly impact the performance of Git and in turn the environment itself.**
**However, [large monorepos](../../user/project/repository/monorepos/index.md) (several gigabytes or more) can significantly impact the performance of Git and in turn the environment itself.**
Their presence, as well as how they are used, can put a significant strain on the entire system from Gitaly through to the underlying infrastructure.
WARNING:
......@@ -223,12 +223,12 @@ If this applies to you, we strongly recommended referring to the linked document
As such, large monorepos come with notable cost. If you have such a repository we strongly recommend
the following guidance is followed to ensure the best chance of good performance and to keep costs in check:
- [Optimize the large monorepo](../../user/project/repository/monorepos/optimize_settings.md#optimize-gitlab-settings). Using features such as
[LFS](../../user/project/repository/monorepos/optimize_settings.md#use-lfs-for-large-blobs) to not store binaries, and other approaches for reducing repository size, can
- [Optimize the large monorepo](../../user/project/repository/monorepos/index.md#optimize-gitlab-settings). Using features such as
[LFS](../../user/project/repository/monorepos/index.md#use-lfs-for-large-blobs) to not store binaries, and other approaches for reducing repository size, can
dramatically improve performance and reduce costs.
- Depending on the monorepo, increased environment specifications may be required to compensate. Gitaly in particular will likely require additional resources along with Praefect, GitLab Rails, and Load Balancers. This depends notably on the monorepo itself and the usage against it.
- When the monorepo is significantly large (20 gigabytes or more) further additional strategies maybe required such as even further increased specifications or in some cases a separate Gitaly backend for the monorepo alone.
- Network and disk bandwidth is another potential consideration with large monorepos. In very heavy cases, it's possible to see bandwidth saturation if there's a high amount of concurrent clones (such as with CI). It's strongly recommended [reducing full clones wherever possible](../../user/project/repository/monorepos/optimize_settings.md#reduce-concurrent-clones-in-cicd) in this scenario. Otherwise, additional environment specifications may be required to increase bandwidth, but this differs between cloud providers.
- Network and disk bandwidth is another potential consideration with large monorepos. In very heavy cases, it's possible to see bandwidth saturation if there's a high amount of concurrent clones (such as with CI). It's strongly recommended [reducing full clones wherever possible](../../user/project/repository/monorepos/index.md#reduce-concurrent-clones-in-cicd) in this scenario. Otherwise, additional environment specifications may be required to increase bandwidth, but this differs between cloud providers.
### Additional workloads
......@@ -239,7 +239,7 @@ However, additional workloads can multiply the impact of operations by triggerin
You may need to adjust the suggested specifications to compensate if you use, for example:
- Security software on the nodes.
- Hundreds of concurrent CI jobs for [large repositories](../../user/project/repository/monorepos/optimize_settings.md).
- Hundreds of concurrent CI jobs for [large repositories](../../user/project/repository/monorepos/index.md).
- Custom scripts that [run at high frequency](../logs/log_parsing.md#print-top-api-user-agents).
- [Integrations](../../integration/index.md) in many large projects.
- [Server hooks](../server_hooks.md).
......
......@@ -169,7 +169,7 @@ You can choose how your repository is fetched from GitLab when a job runs.
for every job. However, the local working copy is always pristine.
- `git fetch` is faster because it re-uses the local working copy (and falls
back to clone if it doesn't exist). This is recommended, especially for
[large repositories](../../user/project/repository/monorepos/optimize_settings.md#git-strategy).
[large repositories](../../user/project/repository/monorepos/index.md#git-strategy).
The configured Git strategy can be overridden by the [`GIT_STRATEGY` variable](../runners/configure_runners.md#git-strategy)
in the `.gitlab-ci.yml` file.
......@@ -192,7 +192,7 @@ a repository.
In GitLab versions 14.7 and later, newly created projects have a default `git depth`
value of `20`. GitLab versions 14.6 and earlier have a default `git depth` value of `50`.
This value can be overridden by the [`GIT_DEPTH` variable](../../user/project/repository/monorepos/optimize_settings.md#shallow-cloning)
This value can be overridden by the [`GIT_DEPTH` variable](../../user/project/repository/monorepos/index.md#shallow-cloning)
in the `.gitlab-ci.yml` file.
## Set a limit for how long jobs can run
......
......@@ -197,7 +197,7 @@ The root causes vary, so multiple potential solutions exist, and you may need to
apply more than one:
- If this error occurs when cloning a large repository, you can
[decrease the cloning depth](../../user/project/repository/monorepos/optimize_settings.md#shallow-cloning)
[decrease the cloning depth](../../user/project/repository/monorepos/index.md#shallow-cloning)
to a value of `1`. For example:
```shell
......
---
redirect_to: 'monorepos/optimize_settings.md'
redirect_to: 'monorepos/index.md'
remove_date: '2023-12-17'
---
This document was moved to [another location](monorepos/optimize_settings.md).
This document was moved to [another location](monorepos/index.md).
<!-- This redirect file can be deleted after <2023-12-17>. -->
<!-- Redirects that point to other docs in the same project expire in three months. -->
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册