1
1
libssh/doc
Andreas Schneider dfcf793a9f 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>
2021-05-27 13:25:02 +02:00
..
that_style doc: Update that_style 2018-08-31 08:04:24 +02:00
authentication.dox From the context it seems that the function being defined is authenticate_none. 2019-03-11 16:19:47 +01:00
CMakeLists.txt Make the documentation reproducible 2020-04-15 13:22:47 +02:00
command.dox Documentation fix where unsigned is used where signed is expected 2015-06-24 17:13:26 +02:00
curve25519-sha256@libssh.org.txt doc: Use https where possible 2019-12-09 16:08:03 +01:00
forwarding.dox doc: Fix uninitialized variable in example code 2021-04-01 11:58:32 +02:00
guided_tour.dox Each ssh_channel_request_exec() needs to be run on fresh channel. 2019-03-25 18:50:52 +01:00
introduction.dox doc: fix up various typos and trailing whitespace 2018-10-28 12:15:02 +01:00
linking.dox doc: Fix a doxygen warning 2020-03-27 12:10:07 +01:00
mainpage.dox Drop none cipher and MAC as they are not implemented 2020-05-05 14:23:06 +02:00
pkcs11.dox doc: Documents PKCS #11 URI support for libssh 2020-02-11 14:25:18 +01:00
README.gitlab.freebsd.md doc: Add REAMDE how to setup a freebsd gitlab runner 2021-05-27 13:25:02 +02:00
scp.dox doc: fix up various typos and trailing whitespace 2018-10-28 12:15:02 +01:00
sftp.dox sftp_get_error returns int, not char *. 2019-03-25 18:51:15 +01:00
shell.dox doc: fix up various typos and trailing whitespace 2018-10-28 12:15:02 +01:00
tbd.dox doc: Fixed doc namespace to be able to install manpages. 2010-12-05 10:53:39 +01:00
threading.dox doc: fix up various typos and trailing whitespace 2018-10-28 12:15:02 +01:00

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