Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
8f95c2da
Commit
8f95c2da
authored
Nov 22, 2020
by
Rachel Gottesman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Edit Issue #285613
parent
e1d7aca7
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
7 deletions
+7
-7
doc/ci/large_repositories/index.md
doc/ci/large_repositories/index.md
+7
-7
No files found.
doc/ci/large_repositories/index.md
View file @
8f95c2da
...
...
@@ -32,7 +32,7 @@ GitLab and GitLab Runner perform a [shallow clone](../pipelines/settings.md#git-
by default.
Ideally, you should always use
`GIT_DEPTH`
with a small number
like 10. This
will instruct
GitLab Runner to perform shallow clones.
like 10. This
instructs
GitLab Runner to perform shallow clones.
Shallow clones make Git request only the latest set of changes for a given branch,
up to desired number of commits as defined by the
`GIT_DEPTH`
variable.
...
...
@@ -152,7 +152,7 @@ concurrent = 4
This
`config.toml`
:
-
Uses the
`shell`
executor,
-
Specifies a custom
`/builds`
directory where all clones
will b
e stored.
-
Specifies a custom
`/builds`
directory where all clones
ar
e stored.
-
Enables the ability to specify
`GIT_CLONE_PATH`
,
-
Runs at most 4 jobs at once.
...
...
@@ -177,7 +177,7 @@ concurrent = 4
This
`config.toml`
:
-
Uses the
`docker`
executor,
-
Specifies a custom
`/builds`
directory on disk where all clones
will b
e stored.
-
Specifies a custom
`/builds`
directory on disk where all clones
ar
e stored.
We host mount the
`/builds`
directory to make it reusable between subsequent runs
and be allowed to override the cloning strategy.
-
Doesn't enable the ability to specify
`GIT_CLONE_PATH`
as it is enabled by default.
...
...
@@ -187,7 +187,7 @@ This `config.toml`:
Once we have the executor configured, we need to fine tune our
`.gitlab-ci.yml`
.
Our pipeline
will be
most performant if we use the following
`.gitlab-ci.yml`
:
Our pipeline
is
most performant if we use the following
`.gitlab-ci.yml`
:
```
yaml
variables
:
...
...
@@ -205,8 +205,8 @@ The above configures a:
because we use the same clone path for all forks.
Why use
`$CI_CONCURRENT_ID`
? The main reason is to ensure that worktrees used are not conflicting
between projects. The
`$CI_CONCURRENT_ID`
represents a unique identifier within the given executor
,
so as long as we use it to construct the path, it is guaranteed that this directory will
not conflict
between projects. The
`$CI_CONCURRENT_ID`
represents a unique identifier within the given executor
.
When we use it to construct the path, this directory does
not conflict
with other concurrent jobs running.
### Store custom clone options in `config.toml`
...
...
@@ -220,7 +220,7 @@ In such cases, it might be desirable to keep the `.gitlab-ci.yml` clone path agn
a configuration of the runner.
We can extend our
[
`config.toml`
](
https://docs.gitlab.com/runner/configuration/advanced-configuration.html
)
with the following specification that
will be used by the runner if
`.gitlab-ci.yml`
will
not override it:
with the following specification that
is used by the runner if
`.gitlab-ci.yml`
does
not override it:
```
toml
concurrent
=
4
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment