GitLab을 마이크로서비스로 사용하기

GitLab을 마이크로서비스로 사용하기

많은 애플리케이션이 JSON API에 접근해야 하기 때문에, 애플리케이션 테스트 역시 API에 접근할 수 있어야 할 때가 많아요. 여기서 소개하는 예시는 GitLab을 마이크로서비스로 사용해서 테스트가 GitLab API에 접근할 수 있게 만드는 방법이에요.

출처: 문서

본문

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

다음 순서로 진행하면 돼요.

  1. Docker 또는 Kubernetes executor로 runner를 설정해요.
  2. .gitlab-ci.yml 파일에 다음 내용을 추가해요.
services:
  - name: gitlab/gitlab-ce:latest
    alias: gitlab

variables:
  GITLAB_HTTPS: "false"             # plain http가 동작하도록 보장
  GITLAB_ROOT_PASSWORD: "password"  # root:password로 API에 접근

GitLab UI에서 설정한 변수는 서비스 컨테이너로 전달되지 않아요. 자세한 내용은 GitLab CI/CD variables 문서를 참고해요.

그다음 .gitlab-ci.yml 파일의 script 섹션에 있는 명령이 http://gitlab/api/v4 주소로 API에 접근할 수 있어요.

Hostgitlab을 쓰는지 궁금하다면 서비스가 잡과 어떻게 연결되는지를 참고해요.

Docker Hub에서 사용할 수 있는 다른 Docker 이미지도 얼마든지 쓸 수 있어요.

gitlab 이미지는 환경 변수를 받을 수 있어요. 자세한 내용은 Linux 패키지 문서를 참고해요.

더 알아보기

이 예시에서는 GitLab 컨테이너를 서비스로 붙여 API 테스트를 가능하게 했어요. 다음으로 다른 GitLab CI/CD 기능, 예를 들어 환경 변수 관리나 Docker 이미지 빌드 방법을 함께 살펴보면 실제 파이프라인 구성에 그대로 활용할 수 있어요.