Commit b0c6ebdc authored by Dom Sekotill's avatar Dom Sekotill
Browse files

Remove systemd service, rely on Docker restart policy

parent a0f8eaef
Loading
Loading
Loading
Loading

gitlab-runner@.service

deleted100644 → 0
+0 −16
Original line number Diff line number Diff line
[Unit]
Description=GitLab-CI Runner
After=network-online.target
Wants=network-online.target

[Service]
Environment=IMAGE=gitlab/gitlab-runner:alpine
ExecStartPre=-/usr/bin/docker pull ${IMAGE}
ExecStart=/usr/bin/docker run --rm \
	--name gitlab-runner-%i \
	--volume /etc/gitlab-runner/%i.d:/etc/gitlab-runner \
	--volume /run/docker.sock:/run/docker.sock \
	${IMAGE}

[Install]
WantedBy=multi-user.target
+16 −8
Original line number Diff line number Diff line
@@ -122,9 +122,9 @@ mkdir -p -m 0750 ${CONFIG_BASE}
set_name() {
	local name=$(printf "${NAME}" ${1-})
	DEFAULT_DESCRIPTION=${name}
	SYSTEMD_UNIT=$(systemd-escape -m ${SYSTEMD_NAME}@${name})
	name=${SYSTEMD_UNIT%.service}
	RUNNER_CONFIG=${CONFIG_BASE}/${name#gitlab-runner@}.d
	name=$(printf "${name}" | tr -cs '[a-zA-Z0-9_]' '-')
	RUNNER_CONFIG=${CONFIG_BASE}/${name}.d
	CONTAINER_NAME=gitlab-runner-${name}
}

find_name() {
@@ -172,19 +172,27 @@ case $COMMAND in
		sed -i '/\[runners\.custom_build_dir\]/{$!N;/\n\s*\[/!P;D}' \
			${RUNNER_CONFIG}/config.toml

		systemctl enable ${SYSTEMD_UNIT}
		systemctl start ${SYSTEMD_UNIT}
		docker container create \
			--name ${CONTAINER_NAME} \
			--restart always \
			--volume ${RUNNER_CONFIG}:/etc/gitlab-runner \
			--volume /run/docker.sock:/run/docker.sock \
			${IMAGE}
		docker container start \
			${CONTAINER_NAME}
		;;

	unregister)
		NAME=${RUNNER_NAME:?} set_name

		systemctl stop ${SYSTEMD_UNIT}
		systemctl disable ${SYSTEMD_UNIT}

		docker container stop \
			${CONTAINER_NAME}
		docker container rm \
			${CONTAINER_NAME}
		docker run --rm -v ${RUNNER_CONFIG}:/etc/gitlab-runner \
			${IMAGE} unregister --name ${RUNNER_NAME}


		rm -r ${RUNNER_CONFIG:?}
		;;
esac