User Tools

Site Tools


services:gitlab:gitlab-runner

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
services:gitlab:gitlab-runner [2021/05/19 09:35] – created hoffmac00services:gitlab:gitlab-runner [2021/05/19 10:00] hoffmac00
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,
  
-<code>+<code yaml>
 stages: stages:
     - dependencies     - dependencies
Line 105: Line 105:
 or for each job individually. or for each job individually.
  
-<code>+<code yaml>
 install_dependencies: install_dependencies:
     stage: dependencies     stage: dependencies
Line 123: Line 123:
 Inside a job, you can use ''%%parallel%%'' to run it multiple times simultaneously. Some languages, e.g. ruby also have the ability to split tests across these parallel jobs. Inside a job, you can use ''%%parallel%%'' to run it multiple times simultaneously. Some languages, e.g. ruby also have the ability to split tests across these parallel jobs.
  
-<code>+<code yaml>
 test: test:
   parallel: 3   parallel: 3
Line 135: Line 135:
 The ''%%parallel%%'' keyword can also be used in combination with matrix to run the same job with different environment variables. This allows for a compact way to run similar jobs. The ''%%parallel%%'' keyword can also be used in combination with matrix to run the same job with different environment variables. This allows for a compact way to run similar jobs.
  
-<code>+<code yaml>
 myjob: myjob:
   image: $RELEASE   image: $RELEASE
Line 147: Line 147:
 This would run ''%%myjob%%'' on two different debian releases (see below for image options). Specifying multiple Variables will run it for all possible combinations (entries of the cartesian product of the two lists). This would run ''%%myjob%%'' on two different debian releases (see below for image options). Specifying multiple Variables will run it for all possible combinations (entries of the cartesian product of the two lists).
  
-<code>+<code yaml>
 myjob: myjob:
   image: $RELEASE   image: $RELEASE
Line 161: Line 161:
 In this case, 6 jobs would be created. Note, that ''%%DEPENDENCY_VERSION%%'' is not a new entry but another element inside the same entry (no new ''%%-%%'' at the beginning of the line). Adding a hyphen at the beginning will result in 5 jobs (one for ''%%buster%%'', one for ''%%bullseye%%'', one for ''%%1.0%%'', …): In this case, 6 jobs would be created. Note, that ''%%DEPENDENCY_VERSION%%'' is not a new entry but another element inside the same entry (no new ''%%-%%'' at the beginning of the line). Adding a hyphen at the beginning will result in 5 jobs (one for ''%%buster%%'', one for ''%%bullseye%%'', one for ''%%1.0%%'', …):
  
-<code>+<code yaml>
     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 * sid * stable (stable release, installed on workstations) * testing (next stable release)+Available releases: 
 +  * buster 
 +  * bullseye 
 +  * sid 
 +  * stable (stable release, installed on workstations) 
 +  * testing (next stable release)
  
 These releases correspond to the debian codenames. These releases correspond to the debian codenames.
  
-Available variants: * base (simplest variant e.g. for simple shell scripts) * dev (for C/C++ projects) * python (comes with the same python libs as the workstations) * tex (comes with the same TeX packages as the workstations) * fortran (comes with gfortran) * haskell (comes with ghc) * julia (comes with julia) * ruby (comes with ruby) * deb (for debian packaging) * full (Includes everything from above and is close to the workstation configuration)+Available variants: 
 +  * base (simplest variant e.g. for simple shell scripts) 
 +  * dev (for C/C++ projects) 
 +  * python (comes with the same python libs as the workstations) 
 +  * tex (comes with the same TeX packages as the workstations) 
 +  * fortran (comes with gfortran) 
 +  * haskell (comes with ghc) 
 +  * julia (comes with julia) 
 +  * ruby (comes with ruby) 
 +  * deb (for debian packaging) 
 +  * full (Includes everything from above and is close to the workstation configuration)
  
 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 250:
   * 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 GiB RAM
  
 ===== Pipeline Editor ===== ===== Pipeline Editor =====
services/gitlab/gitlab-runner.txt · Last modified: 2022/07/08 15:58 by hoffmac00

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki