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
0
Merge Requests
0
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
Léo-Paul Géneau
gitlab-ce
Commits
e9924710
Commit
e9924710
authored
Nov 14, 2017
by
Achilleas Pipinellis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add runners.cache section
parent
801f6ac4
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
90 additions
and
72 deletions
+90
-72
doc/articles/runner_autoscale_aws/index.md
doc/articles/runner_autoscale_aws/index.md
+90
-72
No files found.
doc/articles/runner_autoscale_aws/index.md
View file @
e9924710
...
@@ -111,78 +111,96 @@ check_interval = 0
...
@@ -111,78 +111,96 @@ check_interval = 0
Let's break it down to pieces.
Let's break it down to pieces.
-
Global section
### Global section
```toml
```
toml
concurrent = 3
concurrent
=
3
check_interval = 0
check_interval
=
0
```
```
-
`[[runners]]`
### `[[runners]]`
```toml
```
toml
[[runners]]
[[runners]]
name = "gitlab-aws-autoscaler"
name
=
"gitlab-aws-autoscaler"
url = "<url to your GitLab CI host>"
url
=
"<url to your GitLab CI host>"
token = "<registration token>"
token
=
"<registration token>"
executor = "docker+machine"
executor
=
"docker+machine"
limit = 4
limit
=
4
```
```
-
`[runners.docker]`
### `[runners.docker]`
```toml
```
toml
[runners.docker]
[runners.docker]
image = "alpine"
image
=
"alpine"
privileged = true
privileged
=
true
disable_cache = false
disable_cache
=
false
volumes = ["/cache"]
volumes
=
["/cache"]
```
```
-
`[runners.cache]`
### `[runners.cache]`
```toml
To speed up your jobs, GitLab Runner provides a cache mechanism where selected
[runners.cache]
directories and/or files are saved and shared between subsequent jobs.
Type = "s3"
While not required for this setup, it is recommended to use the shared cache
ServerAddress = "s3.amazonaws.com"
mechanism that GitLab Runner provides. Since new instances will be created on
AccessKey = "<your AWS Access Key ID>"
demand, it is essential to have a common place where cache is stored.
SecretKey = "<your AWS Secret Access Key>"
BucketName = "<the bucket where your cache should be kept>"
In the following example, we use Amazon S3:
BucketLocation = "us-east-1"
Shared = true
```
toml
```
[runners.cache]
Type
=
"s3"
-
`[runners.machine]`
ServerAddress
=
"s3.amazonaws.com"
AccessKey
=
"<your AWS Access Key ID>"
```toml
SecretKey
=
"<your AWS Secret Access Key>"
[runners.machine]
BucketName
=
"<the bucket where your cache should be kept>"
IdleCount = 1
BucketLocation
=
"us-east-1"
IdleTime = 1800
Shared
=
true
MaxBuilds = 100
```
MachineDriver = "amazonec2"
MachineName = "gitlab-docker-machine-%s"
Here's some more info to get you started:
OffPeakPeriods = ["* * 0-7,19-23 * * mon-fri *", "* * * * * sat,sun *"]
OffPeakIdleCount = 0
-
[
The `[runners.cache]` section
](
https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runners-cache-section
)
OffPeakIdleTime = 1200
-
[
Deploying and using a cache server for GitLab Runner
](
https://docs.gitlab.com/runner/configuration/autoscale.html#distributed-runners-caching
)
MachineOptions = [
-
[
How cache works
](
../../ci/yaml/README.md#cache
)
"amazonec2-access-key=XXXX",
"amazonec2-secret-key=XXXX",
### `[runners.machine]`
"amazonec2-region=us-east-1",
"amazonec2-vpc-id=vpc-xxxxx",
This is the most important part of the configuration and it's the one that
"amazonec2-subnet-id=subnet-xxxxx",
tells GitLab Runner how and when to spawn new Docker Machine instances.
"amazonec2-use-private-address=true",
"amazonec2-tags=Name,gitlab-runner-autoscale",
```
toml
"amazonec2-security-group=docker-machine-scaler",
[runners.machine]
"amazonec2-instance-type=m4.2xlarge",
IdleCount
=
1
"amazonec2-ssh-user=ubuntu",
IdleTime
=
1800
"amazonec2-ssh-keypath=/etc/gitlab-runner/certs/gitlab-aws-autoscaler",
MaxBuilds
=
100
"amazonec2-zone=a",
MachineDriver
=
"amazonec2"
"amazonec2-root-size=32",
MachineName
=
"gitlab-docker-machine-%s"
]
OffPeakPeriods
=
[
"* * 0-7,19-23 * * mon-fri *"
,
"* * * * * sat,sun *"
]
```
OffPeakIdleCount
=
0
OffPeakIdleTime
=
1200
Under `MachineOptions` you can add anything that the [AWS Docker Machine driver
MachineOptions
=
[
supports](https://docs.docker.com/machine/drivers/aws/#options).
"amazonec2-access-key=XXXX"
,
"amazonec2-secret-key=XXXX"
,
"amazonec2-region=us-east-1"
,
"amazonec2-vpc-id=vpc-xxxxx"
,
"amazonec2-subnet-id=subnet-xxxxx"
,
"amazonec2-use-private-address=true"
,
"amazonec2-tags=Name,gitlab-runner-autoscale"
,
"amazonec2-security-group=docker-machine-scaler"
,
"amazonec2-instance-type=m4.2xlarge"
,
"amazonec2-ssh-user=ubuntu"
,
"amazonec2-ssh-keypath=/etc/gitlab-runner/certs/gitlab-aws-autoscaler"
,
"amazonec2-zone=a"
,
"amazonec2-root-size=32"
,
]
```
TIP:
**Tip:**
Under
`MachineOptions`
you can add anything that the
[
AWS Docker Machine driver
supports
](
https://docs.docker.com/machine/drivers/aws/#options
)
.
## Cutting down costs with Amazon EC2 Spot instances
## Cutting down costs with Amazon EC2 Spot instances
...
...
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