...
The GitLab runner needs to be executed to fetch new CI jobs from GitLab. The best way is to use a systemd service which can restart the runner after a reboot of the frondend nodes.
Create a systemd user service file in your $HOME
directory at .config/systemd/user/name.service
which looks like the following example.
Code Block |
---|
[Unit]
Description=Jacamar User Service
After=network.target
[Service]
ExecStart=/opt/software/pc2/EB-SW/software/gitlab-runner/latest/bin/gitlab-runner run --config=/PATH/TO/WORK/DIR/jacamar-config.toml
WorkingDirectory=/scratch/PATH/TO/WORK/DIR/
[Install]
WantedBy=default.target |
The service can be enabled with systemctl --user enable name.service
and started with systemctl --user start name.service
. Use systemctl --user daemon-reload
after changing the service file.
Now, To make the gitlab-runner continue executing after closing your SSH session, you can use screen
or tmux
.
The login nodes may be rebooted, e.g. during maintenance or an update. Afterwards, you need to login and start the gitlab-runner anew.
Now, you can schedule a pipeline in your GitLab project. The runner will fetch the created jobs and execute them on the specified partition.
...