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

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

많은 애플리케이션들이 JSON API에 액세스해야 할 필요가 있기 때문에 애플리케이션 테스트도 API에 액세스해야 할 수 있습니다. 다음 예제는 GitLab을 마이크로서비스로 사용하여 테스트가 GitLab API에 액세스하도록 하는 방법을 보여줍니다.

  1. 도커나 Kubernetes 실행기를 사용하여 러너(runner)를 구성합니다.
  2. .gitlab-ci.yml에 다음을 추가합니다:

    services:
      - name: gitlab/gitlab-ce:latest
        alias: gitlab
       
    variables:
      GITLAB_HTTPS: "false"             # 일반 http가 작동하는지 확인
      GITLAB_ROOT_PASSWORD: "password"  # root:password 사용하여 API에 액세스
    
note
GitLab UI에서 설정한 변수는 서비스 컨테이너로 전달되지 않습니다. 자세한 내용은 GitLab CI/CD 변수를 참조하세요.

그러면 .gitlab-ci.yml 파일의 script 섹션에 있는 명령은 http://gitlab/api/v4에 있는 API에 액세스할 수 있습니다.

gitlabHost로 사용하는 이유에 대한 자세한 정보는 서비스가 작업에 연결되는 방법을 참조하세요.

도커 허브에서 이용 가능한 다른 Docker 이미지도 사용할 수 있습니다.

gitlab 이미지는 환경 변수를 허용합니다. 자세한 내용은 Omnibus documentation를 참조하세요.