Gitlab-runner#
General notes on the usage of Gitab-CI#
When using gitab CI for your project, you should be aware, that your CI can be controlled by the .gitlab-ci.yml
file, located in the root directory of your repository. That implies that:
it can be viewed by anyone allowed to view your repository, so do not include any sensitive information. Use instead secret variables to pass sensitive informations to your job, if necessary.
potentially anybody allowed to commit changes, can alter your
.gitlab-ci.yml
and by this control your CI jobs. Thus, you need to carefully configure your CI (by means of your.gitlab-ci.yml
and your gitlab-project management interface), so that it is only triggered and changed if and by whom you want it to. We recommend to use the rules keyword in your .gitlab-ci.yml to explicitly define what triggers your job (e.g. certain branches, tags etc.).
DKRZ runners#
The DKRZ offers a set of shared and specific runners to build and test your code in specific environments and/or build and publish your documentation via gitlab pages.
Description |
Tags |
Scope |
Image Details |
Availability |
---|---|---|---|---|
Runner to build conda or PyPi packages |
conda, dkrz |
shared |
Generally available |
|
Runner to build doxygen pages |
doxygen, dkrz |
shared |
Generally available |
|
Runner to build sphinx pages |
sphinx, dkrz |
shared |
Generally available |
|
Runner to build latex projects |
latex, dkrz |
shared |
Generally available |
|
Runner with bare alpine image for own customizations |
alpine, dkrz |
shared |
alpine:latest |
Generally available |
Runner accepting arbitrary docker images |
docker-any-image, dkrz |
specific |
gcr.io/kaniko-project/executor:debug |
Upon request |
Runner with levante’s software tree mounted in an docker image |
levante-fake, hpc, dkrz |
specific |
almalinux/almalinux:8 + levante software |
Upon request |
Runner providing slurm access to levante; the jobs are executed as the user, who triggered the pipeline |
levante, hpc, dkrz |
specific |
na |
Upon request |
Shared runners can be used by all projects and simply need to be enabled in the respective project under Settings
CI/CD
Runners
. Our specific runners are available only to selected projects, since they have limited resources and support. If you would like to use one of our specfifc runners for your project please contact support@dkrz.de
.
All runners are tagged and only run tagged jobs. That implies, that you need to specify the correct tags in your .gitlab-ci.yml
file to use any of the dkrz runners.
They mostely use docker executors with images created in and stored in our gitlab. You can find more details to some of the images here (gitlab login required). You can install additional packages, needed for your project, in the script
section of your .gitlab-ci.yml
file.
The usage and/or creation of own images is possible only in the specific docker-any-image runner.
We recommend to use our ci-templates, if applicable, in order to ensure that your ci is in line with certain defaults and/or best practices. We also invite you to check and contribute to the examples in our ci-example repository .