카테고리 없음

GitLab CICD - GitLabRunner 사용법

북클릿 2022. 11. 28. 14:21
반응형

GitLab CICD - GitLabRunner 사용법

GitLab CICD - GitLab-Runner란 ?

깃랩에서 제공하는 CICD 작업용 인스턴스라고 보면 된다.

로컬에서 프로세스를 실행하는 방법도 있고, 도커 컨테이너로 실행하는 방법이 있다.

이 글에서는 두 가지 방법 모두를 다루도록 한다.

 

플랫폼 : ubuntu20.04 LTS x86_64 GNU/Linux

GitLab CICD - 로컬 러너 설치&등록 방법

1. gitlab runner 설치파일 다운로드

https://gitlab-runner-downloads.s3.amazonaws.com/latest/index.html
위의 링크에 들어가서 본인의 플랫폼에 맞는 설치파일을 다운로드 한다.


2. gitlab runner 설치

dpkg -i gitlab-runner_<arch>.deb

이제 다운로드 받은 파일의 압축을 풀고, dpkg 명령어를 이용해서 설치해준다.

 

3. gitlab-runner 실행

다음으로 gitlab-runner를 실행해준다. 로컬 머신에서 runner가 백그라운드로 실행중이어야 일을 할 수 있다.

gitlab-runner --help를 수행하면 다른 명령들을 볼 수 있다.

sudo gitlab-runner start

 


4. gitlab-runner 등록

sudo gitlab-runner register

마지막으로 등록이다. 아무리 러너가 잘 실행되고 있어도, 프로젝트에 등록되지않으면 깃랩서버에서 일감을 던져주지 않는다.

깃랩 프로젝트 => Settings => CI/CD => Runners 에 들어가서 레포지토리 정보와 토큰정보를 확인한다.

그리고 register 에서 각각에 맞는 정보를 입력한다. 

등록시 참고해야할 URL과 토큰정보

 

GitLab CICD - Docker 컨테이너 러너 설치&등록 방법

도커를 이용하면 더 편리하게 관리할 수 있다.

다만 문제는 runner가 하나의 컨테이너가 되면, 테스트시에 다른 컨테이너를 어떻게 실행시키냐는건데,

볼륨마운트를 이용하면 이 방법도 매끄럽게 해결할 수 있다. (호스트의 docker.sock 파일 접근권한을 넘겨줌)


1. docker image 설치 

git pull gitlab/gitlab-runner:latest


2. gitlab runner 실행

이제 설치받은 이미지를 이용해서 docker-runner를 실행한다. d 옵션은 백그라운드 실행을 한다는 의미이다.

-v는 볼륨마운트를 의미한다. 구분자(:)를 기준으로 왼쪽은 호스트의 경로, 오른쪽은 컨테이너의 경로를 의미한다.

즉, GitLab-Runner 컨테이너 안에서 호스트의 config 파일과 docker.sock을 접근하게 된다는 뜻이다.

docker run -d --name gitlab-runner --restart always \
  -v /srv/gitlab-runner/config:/etc/gitlab-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  gitlab/gitlab-runner:latest

 

3. gitlab runner 등록

이제 GitLab Project에 러너를 등록해주자. register를 도커를 통해 실행하는것을 제외하면 위의 방법과와 완전히 같다.

깃랩 프로젝트 => Settings => CI/CD => Runners

에서 레포지토리 정보와 토큰정보를 확인한다.

docker run --rm -it -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register

 

 

잘 완료하면 아래의 Avaiable specific runners에 초록불로 runner가 돌고 있는것을 확인할 수 잇다.

GitLab-Runner가 성공적으로 등록된 모습

 

 

[출처]

 

* 일반적인 GitLab Runner 인스톨

https://docs.gitlab.com/runner/install/

 

* 컨테이너 방식의 GitLab Runner 인스톨

https://docs.gitlab.com/runner/install/docker.html

 

Run GitLab Runner in a container | GitLab

Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.

docs.gitlab.com

 

* GitLab Runner 등록 방법

https://docs.gitlab.com/runner/register/index.html#docker

 

Registering runners (deprecated) | GitLab

Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.

docs.gitlab.com

 

 

[개발자 필독]

텀블벅에서 진행한 전자책이 너무 잘되어서, 크몽으로도 상륙하게 되었습니다!

https://kmong.com/self-marketing/457491/ZAUx7MErx0

 

IT 초보자를 위한 하루만에 배우는 데이터베이스 | 15000원부터 시작 가능한 총 평점 0점의 전자책,

0개 총 작업 개수 완료한 총 평점 0점인 팀플러머의 전자책, 직무스킬 전자책 서비스를 0개의 리뷰와 함께 확인해 보세요. 전자책, 직무스킬 전자책 제공 등 15000원부터 시작 가능한 서비스

kmong.com

 

반응형