60 lines
1.6 KiB
Bash
Executable File
60 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
#SOURCE: https://docs.gitlab.com/runner/install/
|
|
|
|
# Exit on error, undefined vars, and pipe failures
|
|
set -euo pipefail
|
|
|
|
#Creating gitlab user
|
|
sudo pw group add -n gitlab-runner
|
|
sudo pw user add -n gitlab-runner -g gitlab-runner -s /bin/sh
|
|
sudo mkdir /home/gitlab-runner
|
|
sudo chown gitlab-runner:gitlab-runner /home/gitlab-runner
|
|
|
|
#Downloading binary and giving permissions
|
|
sudo fetch -o /usr/local/bin/gitlab-runner https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/latest/binaries/gitlab-runner-freebsd-amd64
|
|
sudo chmod +x /usr/local/bin/gitlab-runner
|
|
|
|
#Creating logfile and giving permissions
|
|
sudo touch /var/log/gitlab_runner.log && sudo chown gitlab-runner:gitlab-runner /var/log/gitlab_runner.log
|
|
|
|
#Creating rc service
|
|
mkdir -p /usr/local/etc/rc.d
|
|
sudo sh -c 'cat > /usr/local/etc/rc.d/gitlab_runner' << "EOF"
|
|
#!/bin/sh
|
|
# PROVIDE: gitlab_runner
|
|
# REQUIRE: DAEMON NETWORKING
|
|
# BEFORE:
|
|
# KEYWORD:
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="gitlab_runner"
|
|
rcvar="gitlab_runner_enable"
|
|
|
|
user="gitlab-runner"
|
|
user_home="/home/gitlab-runner"
|
|
command="/usr/local/bin/gitlab-runner"
|
|
command_args="run"
|
|
pidfile="/var/run/${name}.pid"
|
|
|
|
start_cmd="gitlab_runner_start"
|
|
|
|
gitlab_runner_start()
|
|
{
|
|
export USER=${user}
|
|
export HOME=${user_home}
|
|
if checkyesno ${rcvar}; then
|
|
cd ${user_home}
|
|
/usr/sbin/daemon -u ${user} -p ${pidfile} ${command} ${command_args} > /var/log/gitlab_runner.log 2>&1
|
|
fi
|
|
}
|
|
|
|
load_rc_config $name
|
|
run_rc_command $1
|
|
EOF
|
|
|
|
sudo chmod +x /usr/local/etc/rc.d/gitlab_runner
|
|
|
|
echo "Now register a runner and then:"
|
|
echo "sudo sysrc gitlab_runner_enable=YES"
|
|
echo "sudo service gitlab_runner start" |