Install GitLab Runner on FreeBSD
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, Self-managed
The FreeBSD version is also available as a bleeding edge release. Make sure that you read the FAQ section which describes some of the most common problems with GitLab Runner.
If you are using or upgrading from a version prior to GitLab Runner 10, read how to upgrade to the new version.
Installing GitLab Runner
Here are the steps to install and configure GitLab Runner under FreeBSD:
-
Create the
gitlab-runner
user and group:sudo pw group add -n gitlab-runner sudo pw user add -n gitlab-runner -g gitlab-runner -s /usr/local/bin/bash sudo mkdir /home/gitlab-runner sudo chown gitlab-runner:gitlab-runner /home/gitlab-runner
-
Download the binary for your system:
# For amd64 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 # For i386 sudo fetch -o /usr/local/bin/gitlab-runner https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/latest/binaries/gitlab-runner-freebsd-386
You can download a binary for every available version as described in Bleeding Edge - download any other tagged release.
-
Give it permissions to execute:
sudo chmod +x /usr/local/bin/gitlab-runner
-
Create an empty log file with correct permissions:
sudo touch /var/log/gitlab_runner.log && sudo chown gitlab-runner:gitlab-runner /var/log/gitlab_runner.log
-
Create the
rc.d
directory in case it doesn’t exist:mkdir -p /usr/local/etc/rc.d
-
Create the
gitlab_runner
script insiderc.d
:Bash users can do the following:
sudo bash -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
If you are not using bash, create a file named
/usr/local/etc/rc.d/gitlab_runner
and include the following content:#!/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
-
Make the
gitlab_runner
script executable:sudo chmod +x /usr/local/etc/rc.d/gitlab_runner
-
Enable the
gitlab-runner
service and start it:sudo sysrc gitlab_runner_enable=YES sudo service gitlab_runner start
If you don’t want to enable the
gitlab-runner
service to start after a reboot, use:sudo service gitlab_runner onestart
Upgrading to GitLab Runner 10
To upgrade GitLab Runner from a version prior to 10.0:
-
Stop GitLab Runner:
sudo service gitlab_runner stop
-
Optionally, preserve the previous version of GitLab Runner just in case:
sudo mv /usr/local/bin/gitlab-ci-multi-runner{,.$(/usr/local/bin/gitlab-ci-multi-runner --version| grep Version | cut -d ':' -f 2 | sed 's/ //g')}
-
Download the new GitLab Runner and make it executable:
# For amd64 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 # For i386 sudo fetch -o /usr/local/bin/gitlab-runner https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/latest/binaries/gitlab-runner-freebsd-386 sudo chmod +x /usr/local/bin/gitlab-runner
-
Edit
/usr/local/etc/rc.d/gitlab_runner
and change:command="/usr/local/bin/gitlab-ci-multi-runner run"
to:
command="/usr/local/bin/gitlab-runner run"
-
Start GitLab Runner:
sudo service gitlab_runner start
-
After you confirm all is working correctly, you can remove the old binary:
sudo rm /usr/local/bin/gitlab-ci-multi-runner.*
Docs
Edit this page to fix an error or add an improvement in a merge request.
Create an issue to suggest an improvement to this page.
Product
Create an issue if there's something you don't like about this feature.
Propose functionality by submitting a feature request.
Feature availability and product trials
View pricing to see all GitLab tiers and features, or to upgrade.
Try GitLab for free with access to all features for 30 days.
Get help
If you didn't find what you were looking for, search the docs.
If you want help with something specific and could use community support, post on the GitLab forum.
For problems setting up or using this feature (depending on your GitLab subscription).
Request support