
GitLab Runner 를 통해 CI 빌드 및 테스트
GitLab Runner 설치 가이드 링크
Run GitLab Runner in a container | GitLab Docs
Run GitLab Runner in a container Tier: Free, Premium, UltimateOffering: GitLab.com, GitLab Self-Managed, GitLab Dedicated You can run GitLab Runner in a Docker container to execute CI/CD jobs. The GitLab Runner Docker image includes all dependencies needed
docs.gitlab.com
1. GitLab Runner 컨테이너 실행
GitLab Runner 도커 이미지 다운로드
docker pull gitlab/gitlab-runner:latest
먼저 로컬에 /app/gitlab-runner 폴더를 생성한 후 GitLab Runner 컨테이너를 실행한다.
mkdir -p /app/gitlab-runner/config
docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /app/gitlab-runner/config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest

2. CI 샘플 예제 가져오기
https://github.com/do-community/hello_hapi
GitHub - do-community/hello_hapi: Solution for Exercise 1 of Exercises For Programmers using Hapi and Lab for tests
Solution for Exercise 1 of Exercises For Programmers using Hapi and Lab for tests - do-community/hello_hapi
github.com

샘플 깃허브 URL 복사 후, 새로운 프로젝트 만들기 -> Import project 를 클릭한다.

아래와 같이 Import 옵션이 비활성화되어 가져올 수 없는 것으로 나오는데

하단에 관리자 클릭

설정에서 Repository by URL 옵션을 활성화한다.

다시 프로젝트 생성 -> Import Project -> Repository by URL 클릭

URL 입력창에 샘플 깃허브 복사 후 붙여넣는다.

프로젝트를 정상적으로 가져왔는 지 확인한다.

.gitlab-ci.yml 파일에서 해당 프로젝트의 CI 부분이 정의가 되어 있다.
commit 을 하게 되면 .gitlab-ci.yml 의 구성대로 빌드 및 테스트가 진행된다.

3. GitLab Runner 등록
GitLab 에서 CI 작업이 진행되기 위해, GitLab Runner 도커 실행까지 진행하였다.
빌드 및 테스트를 위해서는 해당 GitLab Runner 를 GitLab 에 등록을 해야한다.
3.1 GitLab Runner 생성

3.2 러너 설정

- Run untagged jobs (태그가 지정되지 않은 작업 실행) 체크
생성 후 등록할 수 있는 URL 과 Token 을 볼 수 있다.

3.3 GitLab Runner 컨테이너 접속
docker exec -it gitlab-runner bash

3.4 GitLab Runner 등록
gitlab-runner register --url http://{GitLab_IP} --token {Token}
Enter an executor: instance, shell, docker-windows, parallels, virtualbox, docker, docker+machine, kubernetes, docker-autoscaler, custom, ssh:
docker
Enter the default Docker image (for example, ruby:2.7):
alpine:latest

4. CI 빌드 및 테스트
4.1 샘플 프로젝트 커밋
샘플 예제로 가져온 프로젝트에 새로운 파일을 추가한다.


4.2 GitLab 빌드 및 배포 확인
Jobs 로 이동한 후, 빌드가 되는 것을 확인할 수 있다.

4.3 배포 시 "Could not resolve host: gitlab.example.com" 에러 발생 시

gitlab-runner 에서 gitlab.example.com 에 대한 도메인을 찾지 못하여 발생하는 이슈이다.
로컬 리눅스에서 /app/gitlab-ruuner/config/config.toml 파일에 도메인에 대한 IP 를 추가해주자.
[runners.docker]
extra_hosts = ["gitlab.example.com:{GitLab_IP}"]
4.4 빌드 및 배포 확인

'CICD > GitLab' 카테고리의 다른 글
[CI/CD] GitLab Runner + Nexus 도커이미지 빌드 후 배포 (0) | 2025.03.31 |
---|---|
[CI/CD] GitLab 프로젝트 생성 및 커밋해보기 (1) | 2025.03.29 |
[CI/CD] Docker + GitLab 서버 구축 (2) | 2025.03.29 |