본문 바로가기
FullStack/30. CI.CD

[CI/CD] Gitlab Runner 설치 및 실행하기

by nakanara 2021. 2. 6.
반응형

gitlab-runner 설치 및 실행하기

기존에는 Jenkins를 사용하여 빌드 및 배포를 진행하고 있었지만, GitLab을 사용하는 만큼 Runner를 사용하여 빌드 및 배포를 진행

gitlab-runner 다운로드

설치 문서: https://docs.gitlab.com/runner/install/linux-manually.html

# 파일 다운로드
$ sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64"

# 실행 권한 부여
$ sudo chmod +x /usr/local/bin/gitlab-runner

gitlab-runner 계정으로 진행

  • gitlab runner 계정으로 생성 실행할 경우
# gitlab-runner 계정 생성
$ sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

# 서비스 생성
$ sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner

$ sudo gitlab-runner start

gitlab-runner 외 다른 계정으로 진행할 경우

  • user: 실행할 사용자
  • directory: 작업 경로
# gitlab runner 설치, 사용자는 user로 실행하며, 작업 디렉토리에서 빌드 
$ sudo gitlab-runner install --user=user --working-directory=/app/gitlab-runner

# runner 실행
$ sudo gitlab-runner start

gitlab-runner 등록

등록 시 필요한 토큰 및 URL 정보는 gitlab > Admin Area > Overview > Runners 메뉴에서 확인 가능

image

관련 문서: https://docs.gitlab.com/runner/register/

$ sudo gitlab-runner register

Runtime platform                                    arch=amd64 os=linux pid=3668 revision=943fc252 version=13.7.0
Running in system-mode.

# gitlab 주소
Enter the GitLab instance URL (for example, https://gitlab.com/): 
# token 입력
Enter the registration token:
# runner 설명
Enter a description for the runner:
# runner tag 지정, tag에 따른 실행러너가 달라짐
Enter tags for the runner (comma-separated):
Registering runner... succeeded                     runner=yFecrSgp
# runner 실행 형식
# 실행형식에 따라 입력 정보가 다름
Enter an executor: parallels, shell, virtualbox, docker+machine, docker-ssh+machine, kubernetes, custom, docker, docker-ssh, ssh:
# 등록 성공
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

등록이 성공적으로 이루어진 경우 Gitlab > Admin Area > Overview > Runners 메뉴 화면에서 확인 가능

image

gitlab-runner 실행 준비

등록이 된 경우 처음에는 locked 상태로 잠겨 있어서 해당 runner를 클릭하여 상세화면으로 이동

image

  • Run untagged jobs: 체크 - 해당 브랜치의 .gitlab-ci.yml tag가 없어도 실행할지 여부, 해당 브랜치를 여러 runner가 실행하는 것이 아니라면 체크
  • Lock to current projects: 체크 해제: runner 잠금해제를 해야, 프로젝트 CI/CD에 할당 가능

image

[참고] 불필요한 gitlab-runner 서비스 삭제

설치 후 Gitlab화면에서 러너를 제거한 경우,
gitlab-runner verify --delete 명령어를 통해 연결되지 않은 러너를 정리할 수 있다.

$ sudo gitlab-runner verify --delete

Runtime platform                                    arch=amd64 os=linux pid=3632 revision=943fc252 version=13.7.0
Running in system-mode.

ERROR: Verifying runner... is removed               runner=K6imKTqP
ERROR: Verifying runner... is removed               runner=E8yDtFuz
ERROR: Verifying runner... is removed               runner=ynTQszwz
반응형