diff options
author | A. Wilcox <awilcox@wilcox-tech.com> | 2020-06-19 22:56:22 +0000 |
---|---|---|
committer | A. Wilcox <awilcox@wilcox-tech.com> | 2020-06-19 22:56:22 +0000 |
commit | c3ad661174e3f770b100812c6075f2ca092e9c2a (patch) | |
tree | 3dfcf540eb4c49e05d1b97de4492f9e00bec4db0 /user/gitlab-runner/gitlab-runner.initd | |
parent | b39942321d371aaa6fa453bf06cb55089bbe7444 (diff) | |
parent | c4d87ab64fb1a3a1a89e6e0cb8d4b7291e511c1d (diff) | |
download | packages-c3ad661174e3f770b100812c6075f2ca092e9c2a.tar.gz packages-c3ad661174e3f770b100812c6075f2ca092e9c2a.tar.bz2 packages-c3ad661174e3f770b100812c6075f2ca092e9c2a.tar.xz packages-c3ad661174e3f770b100812c6075f2ca092e9c2a.zip |
Merge branch 'gitlab-runner' into 'master'
user/gitlab-runner: new package
See merge request adelie/packages!467
Diffstat (limited to 'user/gitlab-runner/gitlab-runner.initd')
-rw-r--r-- | user/gitlab-runner/gitlab-runner.initd | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/user/gitlab-runner/gitlab-runner.initd b/user/gitlab-runner/gitlab-runner.initd new file mode 100644 index 000000000..a5f65dacb --- /dev/null +++ b/user/gitlab-runner/gitlab-runner.initd @@ -0,0 +1,46 @@ +#!/sbin/openrc-run + +: "${CONFIG_FILE:=/etc/gitlab-runner/config.toml}" +: "${command_args:=--working-directory /var/lib/gitlab-runner}" +: "${logfile:=/var/log/gitlab-runner.log}" +: "${timeout:=300}" +: "${retry:=60}" +: "${command_user:=gitlab-runner:gitlab-runner}" +export CONFIG_FILE + +command="/usr/bin/gitlab-runner" +command_args="run --service ${RC_SVCNAME} ${command_args}" +command_background="true" +start_stop_daemon_args="--stdout ${logfile} --stderr ${logfile}" +pidfile="/run/${RC_SVCNAME}.pid" + +extra_started_commands="reload gracefulstop" +description_reload="Reload configuration" +description_gracefulstop="Finish current jobs, then stop" + +start_pre() { + checkpath -f -m 640 -o "${command_user}" "${logfile}" +} + +reload() { + ebegin "Reloading ${RC_SVCNAME} configuration" + start-stop-daemon --quiet --signal HUP --pidfile "${pidfile}" + eend $? +} + +gracefulstop() { + ebegin "Gracefully stopping ${RC_SVCNAME}" + mark_service_stopping "${RC_SERVICE}" + start-stop-daemon --quiet --progress --stop --pidfile "${pidfile}" \ + --signal QUIT --retry "${timeout}" + if eend $?; then + mark_service_stopped "${RC_SVCNAME}" + else + eerror "${RC_SVCNAME} timed out, forcefully stopping" + if stop; then + mark_service_stopped "${RC_SVCNAME}" + else + return 1 + fi + fi +} |