[Gitlab] Runner 구성하기
앞서 gitlab CI/CD의 `.gitlab-ci.yml` 대해 포스팅했었다.
해당 포스팅에서 CI/CD 파이프라인을 실행하기 위해선 작업을 진행할 Gitlab Runner가 필요하다고 언급을 하였는데,
이번 포스팅에선 Gitlab Runner를 구성하는 방법에 대해 알아보고자 한다.
GitLab Runner
Gitlab Runner는 깃랩과 함께 동작하며, Gitlab에서 정의된 CI/CD 작업을 수행한다.
러너는 여러 플랫폼에서 실행할 수 있으며, 다양한 실행환경(ex. Docker, Shell, Kubernetes 등)을 지원한다.
Runner의 주요 역할
- Gitlab에서 정의된 CI/CD 작업 실행
- Job에 할당된 스크립트 및 명령어 실행
- 다양한 Executor(Docker, Shell, SSH 등) 지원
GitLab Runner 설치하기
앞서 Gitlab Runner는 다양한 플랫폼에서 설치가 가능하다고 언급했는데,
여기서는 Linux 환경에서의 설치를 예로 들겠다.
1. 패키지 저장소 추가
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" \
| sudo bash
2. Gitlab Runner 설치
sudo apt install gitlab-runner
3. 설치 확인
gitlab-runner --version
Gitlab Runner 등록하기
Runner를 Gitlab 프로젝트와 연결하기 위해선 등록 과정이 필요하다.
Runner 등록 단계
1. Gitlab 프로젝트에서 ⚙ Settings > CI/CD > Runners로 이동한다.
2. Registration Token을 확인한다.
3. 서버로 돌아와 Runner 등록 명령어를 실행한다.
sudo gitlab-runner register
4. 아래와 같이 입력한다.
- GitLab URL : GitLab 인스턴스 URL 입력
- Registration Token : 앞서 확인한 토큰 입력
- Description : Runner에 대한 설명 입력
- Tags : Runner에 사용 할 태그 입력
- Executor : 사용 할 Executor 선택 (ex. Docker)
5. Executor가 Docker인 경우 도커 이미지를 지정한다.
Please enter the default Docker image (e.g. ruby:2.7):
alpine:latest
Gitlab Runner 구성 파일 설정
등록이 완료되면 Runner의 설정 파일인 `config.toml`이 생성된다.
이 파일은 Runner의 동작을 제어하는 데 사용된다.
config.toml 주요 설정
`/etc/gilab-runner/config.toml` 파일을 열고 필요한 설정을 추가한다.
기본 구조
[[runners]]
# Runner 이름
name = "My First Runner"
url = "https://gitlab.com"
token = "xxxxxxxxxxxx"
# 실행 환경 (예: docker, shell, kubernetes)
executor = "docker"
[runners.docker]
# 기본 Docker 이미지
image = "alpine:latest"
# Docker-in-Docker 작업을 위한 설정
privileged = true
volumes = ["/cache"]
GitLab CI/CD 파이프라인 실행
러너 등록 및 설정이 완료되었으면, .gitlab-ci.yml 파일을 작성해 CI/CD 파이프라인을 실행할 수 있다.
stages:
- build
- test
build_job:
stage: build
script:
- echo "Building the project..."
- mkdir build
- touch build/output.txt
test_job:
stage: test
script:
- echo "Running Tests.."
- cat build/output.txt
설정을 한 Gitlab 프로젝트에 .gitlab-ci.yml 파일을 커밋 후 CI/CD > Pipelines로 이동하면 파이프라인 상태를 확인 가능하다.
참고
https://docs.gitlab.com/runner/install/
'💽 CICD > Git' 카테고리의 다른 글
[Gitlab] Gitlab CI/CD 변수 (0) | 2025.01.10 |
---|---|
[Gitlab] Gitlab CI/CD 파이프라인 (0) | 2025.01.08 |
[Git] 폴더, 파일 이름 변경 (0) | 2024.10.15 |
[Git] 원격 저장소와 로컬 저장소의 소스 코드 일치 시키기 (0) | 2024.09.06 |
[Git] Git Squash로 커밋 정리하기 (1) | 2024.09.05 |