diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2021-05-27 09:58:34 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2021-05-27 13:25:02 +0200 |
commit | dfcf793a9fdfbcd576ffc6fcd046b7173714a255 (patch) | |
tree | f4e68567863914a3f9288ad1cad300aac55c5835 /doc | |
parent | 7657994aed5e18c208c83635befa8597aa5317e2 (diff) | |
download | libssh-dfcf793a9fdfbcd576ffc6fcd046b7173714a255.tar.gz libssh-dfcf793a9fdfbcd576ffc6fcd046b7173714a255.tar.xz libssh-dfcf793a9fdfbcd576ffc6fcd046b7173714a255.zip |
doc: Add REAMDE how to setup a freebsd gitlab runner
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Reviewed-by: Jakub Jelen <jjelen@redhat.com>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/README.gitlab.freebsd.md | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/doc/README.gitlab.freebsd.md b/doc/README.gitlab.freebsd.md new file mode 100644 index 00000000..65628d2d --- /dev/null +++ b/doc/README.gitlab.freebsd.md @@ -0,0 +1,101 @@ +# Install a FreeBSD CI instance + +Install the following packages: + +``` +pkg install -y bash git gmake cmake cmocka openssl wget pkgconf ccache bash +``` + +Create gitlab-runner user: + +``` +pw group add -n gitlab-runner +pw user add -n gitlab-runner -g gitlab-runner -s /usr/local/bin/bash +mkdir /home/gitlab-runner +chown gitlab-runner:gitlab-runner /home/gitlab-runner +``` + +Get the gitlab-runner binary for freebsd: + +``` +wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-freebsd-amd64 +chmod +x /usr/local/bin/gitlab-runner +``` + +Create a log file and allow access: + +``` +touch /var/log/gitlab_runner.log && chown gitlab-runner:gitlab-runner /var/log/gitlab_runner.log +``` + +We need a start script to run it on boot: + +``` +mkdir -p /usr/local/etc/rc.d +cat > /usr/local/etc/rc.d/gitlab_runner << EOF +#!/usr/local/bin/bash +# PROVIDE: gitlab_runner +# REQUIRE: DAEMON NETWORKING +# BEFORE: +# KEYWORD: + +. /etc/rc.subr + +name="gitlab_runner" +rcvar="gitlab_runner_enable" + +load_rc_config $name + +user="gitlab-runner" +user_home="/home/gitlab-runner" +command="/usr/local/bin/gitlab-runner run" +pidfile="/var/run/${name}.pid" + +start_cmd="gitlab_runner_start" +stop_cmd="gitlab_runner_stop" +status_cmd="gitlab_runner_status" + +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} > /var/log/gitlab_runner.log 2>&1 + fi +} + +gitlab_runner_stop() +{ + if [ -f ${pidfile} ]; then + kill `cat ${pidfile}` + fi +} + +gitlab_runner_status() +{ + if [ ! -f ${pidfile} ] || kill -0 `cat ${pidfile}`; then + echo "Service ${name} is not running." + else + echo "${name} appears to be running." + fi +} + +run_rc_command $1 +EOF +chmod +x /usr/local/etc/rc.d/gitlab_runner +``` + +Register your gitlab-runner with your gitlab project + +``` +su gitlab-runner -c 'gitlab-runner register' +``` + +Start the gitlab runner service: + +``` +sysrc -f /etc/rc.conf "gitlab_runner_enable=YES" +service gitlab_runner start +``` |