services:gitlab:gitlab-runner
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
services:gitlab:gitlab-runner [2021/05/19 09:35] – created hoffmac00 | services:gitlab:gitlab-runner [2021/07/28 21:36] – hoffmac00 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Shared GitLab | + | ====== Shared GitLab |
All repositories have the ability to use the shared GitLab Runners. They can be used to compile, test and deliver code automatically. They must not be used for numerical computations. | All repositories have the ability to use the shared GitLab Runners. They can be used to compile, test and deliver code automatically. They must not be used for numerical computations. | ||
- | ===== Intro into GitLab CI (Continuous Integration) ===== | + | ===== Intro to GitLab CI (Continuous Integration) ===== |
If CI is enabled and there is a push event, GitLab will automatically start a pipeline. A pipeline will run a series of specified jobs on the code and report errors it encounters. Using pipelines, you can see if a change causes an issue with existing code and you can test it for different environments. This works for all branches as well as merge requests or on a schedule. | If CI is enabled and there is a push event, GitLab will automatically start a pipeline. A pipeline will run a series of specified jobs on the code and report errors it encounters. Using pipelines, you can see if a change causes an issue with existing code and you can test it for different environments. This works for all branches as well as merge requests or on a schedule. | ||
Line 27: | Line 27: | ||
</ | </ | ||
- | This will define a job called **test** and in that job it will run '' | + | This will define a job called **test** and in that job it will run '' |
- | Often you want to store the results of a job, for example to use it in further jobs. For this, you can use // | + | Often you will want to store the results of a job, for example to use it in further jobs. For this, you can use // |
<code yaml> | <code yaml> | ||
Line 89: | Line 89: | ||
Environment variables can easily be defined within the yaml structure. They can be defined for all jobs at the top level of the file, | Environment variables can easily be defined within the yaml structure. They can be defined for all jobs at the top level of the file, | ||
- | < | + | < |
stages: | stages: | ||
- dependencies | - dependencies | ||
Line 105: | Line 105: | ||
or for each job individually. | or for each job individually. | ||
- | < | + | < |
install_dependencies: | install_dependencies: | ||
stage: dependencies | stage: dependencies | ||
Line 123: | Line 123: | ||
Inside a job, you can use '' | Inside a job, you can use '' | ||
- | < | + | < |
test: | test: | ||
parallel: 3 | parallel: 3 | ||
Line 135: | Line 135: | ||
The '' | The '' | ||
- | < | + | < |
myjob: | myjob: | ||
image: $RELEASE | image: $RELEASE | ||
Line 147: | Line 147: | ||
This would run '' | This would run '' | ||
- | < | + | < |
myjob: | myjob: | ||
image: $RELEASE | image: $RELEASE | ||
Line 161: | Line 161: | ||
In this case, 6 jobs would be created. Note, that '' | In this case, 6 jobs would be created. Note, that '' | ||
- | < | + | < |
matrix: | matrix: | ||
- RELEASE: [buster, bullseye] | - RELEASE: [buster, bullseye] | ||
Line 199: | Line 199: | ||
GitLab CI allows for choosing images. All available images are based on debian. There are multiple variants and multiple releases available. | GitLab CI allows for choosing images. All available images are based on debian. There are multiple variants and multiple releases available. | ||
- | Available releases: * buster * bullseye | + | Available releases: |
+ | | ||
+ | | ||
+ | | ||
+ | | ||
These releases correspond to the debian codenames. | These releases correspond to the debian codenames. | ||
- | Available variants: * base (simplest | + | Available variants: |
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
Launch time increases with the size of the image which is why the full variant will be slowest to start. | Launch time increases with the size of the image which is why the full variant will be slowest to start. | ||
Line 235: | Line 249: | ||
* Artifacts that are not meant to be investigated manually (which should be most, except final results like LaTeX pdfs) should have a low expiration time to save disk space. | * Artifacts that are not meant to be investigated manually (which should be most, except final results like LaTeX pdfs) should have a low expiration time to save disk space. | ||
* The maximum size for artifacts is 4 GiB. | * The maximum size for artifacts is 4 GiB. | ||
- | * Each job has TBD Cores and TBD GiB RAM | + | * Each job can use up to 8 Cores and 8 GiB RAM |
===== Pipeline Editor ===== | ===== Pipeline Editor ===== |
services/gitlab/gitlab-runner.txt · Last modified: 2022/07/08 15:58 by hoffmac00