FreeBSD に GitLab Runner をインストールします。

note
FreeBSD 版もブリーディングエッジリリースとして提供されています。GitLab Runnerのよくある問題についてはFAQを読んでください。
caution
GitLab Runner 10より前のバージョンを使っている、またはアップグレードしている場合は、新しいバージョンへのアップグレード方法をお読みください。

GitLab Runnerのインストール

FreeBSD で GitLab Runner をインストール・設定する手順は以下の通りです:

  1. gitlab-runner ユーザーとグループを作成します:

    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
    
  2. システム用のバイナリをダウンロードします:

    # For amd64
    sudo fetch -o /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-freebsd-amd64
       
    # For i386
    sudo fetch -o /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-freebsd-386
    

    Bleeding Edgeで説明されているように、利用可能なすべてのバージョンのバイナリをダウンロードできます。

  3. 実行権限を与えます:

    sudo chmod +x /usr/local/bin/gitlab-runner
    
  4. 正しい権限で空のログファイルを作成してください:

    sudo touch /var/log/gitlab_runner.log && sudo chown gitlab-runner:gitlab-runner /var/log/gitlab_runner.log
    
  5. rc.d ディレクトリが存在しない場合は作成してください:

    mkdir -p /usr/local/etc/rc.d
    
  6. rc.dの内部にgitlab_runner スクリプトを作成します:

    Bashユーザーは以下のことができます:

    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
    

    Bashを使用していない場合は、/usr/local/etc/rc.d/gitlab_runner という名前のファイルを作成し、以下の内容を記述してください:

       #!/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
    
  7. gitlab_runner スクリプトを実行可能にします:

    sudo chmod +x /usr/local/etc/rc.d/gitlab_runner
    
  8. ランナーの登録
  9. gitlab-runner サービスを有効にして起動します:

    sudo sysrc gitlab_runner_enable=YES
    sudo service gitlab_runner start
    

    gitlab-runner サービスが再起動後に開始されるようにしたくない場合は、次のようにしてください:

    sudo service gitlab_runner onestart
    

GitLab Runner 10へのアップグレード

GitLab Runnerを10.0以前のバージョンからアップグレードするには:

  1. GitLab Runnerを停止します:

    sudo service gitlab_runner stop
    
  2. オプションで、念のため以前のバージョンのGitLab Runnerを保存しておきます:

    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')}
    
  3. 新しいGitLab Runnerをダウンロードして実行可能にしてください:

    # For amd64
    sudo fetch -o /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-freebsd-amd64
       
    # For i386
    sudo fetch -o /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-freebsd-386
       
    sudo chmod +x /usr/local/bin/gitlab-runner
    
  4. /usr/local/etc/rc.d/gitlab_runner を編集して変更します:

    command="/usr/local/bin/gitlab-ci-multi-runner run"
    

    に変更してください:

    command="/usr/local/bin/gitlab-runner run"
    
  5. GitLab Runnerを起動します:

    sudo service gitlab_runner start
    
  6. すべてが正しく動作していることを確認したら、古いバイナリを削除します:

    sudo rm /usr/local/bin/gitlab-ci-multi-runner.*