FreeBSD에서 GitLab Runner 설치

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-Managed
note
FreeBSD 버전은 bleeding edge 릴리스로도 사용할 수 있습니다. 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. 시스템에 맞는 이진 파일 다운로드:

    # 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
       
    # 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
    

    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. Runner 등록
  9. gitlab-runner 서비스를 활성화하고 시작합니다:

    sudo sysrc gitlab_runner_enable=YES
    sudo service gitlab_runner start
    

    부팅 후 gitlab-runner 서비스를 활성화하고 싶지 않다면, 다음을 사용하세요:

    sudo service gitlab_runner onestart
    

GitLab Runner 10으로 업그레이드

10.0 이전 버전에서 GitLab Runner를 업그레이드하려면:

  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 다운로드하고 실행 가능하게 만듭니다:

    # 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
       
    # 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
    
  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.*