Usage
To create a basic pipeline, configure it by setting ci
in perSystem
.
The schema is similar to the .gitlab-ci.yml
, only jobs are defined differently:
ci = {
# Nix GitLab CI specific config, see `configType` in `flakeModule.nix`
config = {};
jobs = {
"job-a" = {};
"job-b" = {};
};
};
For every job, there are a couple of settings you can adjust aswell:
"job-a" = {
# see `jobType` in `flakeModule.nix`
nix = {
enable = true; # is this a nix-based job?
deps = []; # dependencies to install for this job
# for gitlab runner cache:
enable-runner-cache = false;
runner-cache-key = "";
};
};
Since V2 multiple pipelines are supported. See Multiple Pipelines for more.