README.md 1.32 KB
Newer Older
Florian Hindenlang's avatar
Florian Hindenlang committed
1
2
3
4
# Getting started
This is a project to get started on the gitlab CI for compiling and testing code.

Important links:
Florian Hindenlang's avatar
Florian Hindenlang committed
5
-  Explanations of the YAML syntax of the file **.gitlab-ci.yml** [found here](https://docs.gitlab.com/ce/ci/yaml)
Florian Hindenlang's avatar
Florian Hindenlang committed
6
- Installation of a local runner [found here](https://docs.gitlab.com/runner/install/)
Florian Hindenlang's avatar
Florian Hindenlang committed
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

## Tags:
Tags only make sence if there are multiple runners. 
They allow to choose on which runner the job will be executed.

**You don't need tags if you have only one runner!**

The tags are used to select a specific runner. Note the following:
1. Each job is assigned to only **one** runner!
1. If job has no tag
    - one runner must be configured to run untagged jobs 
1. Job has tags
    - **all** tags of a job **must match** a subset of the tags of **one** runner

Each job can have one or multiple tags, here an example:
```
job_1:
  stage: build
  tags:
    - tag1_runnerA
job_2:
  stage: build
  tags:
    - tag1_runnerB
job_3:
  stage: build
  tags:
    - tag1_runnerA
    - tag2_runnerA
```
- runner A  has the tags `tag1_runnerA` and `tag2_runnerA` ... and therefore runs  `job_1` and `job_3`
- runner B  has the tags `tag1_runnerB` and `tag2_runnerB` ... and therefore runs only `job_2`
- **Careful**, the tag list should contain only tags of **one** runner!
- **Careful**, different runners cannot have the same tag!