GitLab CICD - GitLabRunner 사용법
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 에서 각각에 맞는 정보를 입력한다.

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 인스톨
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