Docs - product feedback: gitlab-runner install systemd behaviour

Summary

  • When you run gitlab-runner install on a system running systemd it will edit the service's /etc/systemd/system/gitlab-runner.service file directly. That works initially but custom options will be wiped out if the package is ever updated.
  • The proper way to edit a service unit file would be to create a gitlab-runner.service.d directory, create a .conf file in that directory, and add the custom options to that file instead. That file will not be overwritten when the package is updated.

Steps to reproduce

  • Run "gitlab-install" with custom options, such as changing the service user/working directory on system using systemd. This will work but...
  • Update package via your OS's package manager (yum, dnf, apt, etc)

Example Project

NA

What is the current bug behavior?

  • After the package is updated all custom settings set with gitlab-runner install are reverted to default settings.

What is the expected correct behavior?

  • Custom settings are not reverted.

Relevant logs and/or screenshots

NA

Possible fixes

  • The proper way to edit a service unit file would be to create a gitlab-runner.service.d directory, create a .conf file in that directory, and add the custom options to that file instead. That file will not be overwritten when the package is updated.
  • To get around this issue I've manually created the above directory and .conf file. I added a blank "ExecStart=" line to reset it and then added a new "ExecStart=" line with the same data that "gitlab-runner install" adds to the default .service file.
  • I'm not a programmer so I can't show you the code to fix this but I am a systems administrator. Hopefully this will help you guys getting the runner working better with systemd.

Describe what you would like to see improved.

Edited by Ben Prescott (ex-GitLab)