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)