GitLab 테스트를 위한 자동 배포

요구 사항

  • openssl 유틸리티
  • kubectl
  • task
  • 클러스터 상호 작용 도구(다음 중 하나):
    • gcloud
    • kind

매개변수

매개변수는 환경 변수를 통해 전달됩니다.

변수명 필수 기본값 설명
GITLAB_CHART_VERSION 아니요 최신 사용 가능한 것 사용할 차트 버전입니다. TAG 내의 차트와 일치해야 합니다.
GITLAB_CHART_REPO 아니요 https://gitlab.com/gitlab-org/charts/gitlab GitLab Helm 차트 리포지터리 HTTP URI. 기본적으로는 기본 KinD 구성을 가져 오는 데 사용됩니다.
IMG 아니요 registry.gitlab.com/gitlab-org/cloud-native/gitlab-operator 오퍼레이터 컨테이너 이미지 이름
TAG 아니요 master 오퍼레이터 컨테이너 이미지 태그. 대부분의 경우 재정의가 필요합니다.
GITLAB_CHART_DIR   GitLab 차트 리포지터리 클론 경로
GITLAB_OPERATOR_DIR 아니요 . GitLab 오퍼레이터 리포지터리 클론 경로
GITLAB_OPERATOR_MANIFEST 아니요   오퍼레이터 배포용 manifest의 선택적 참조. 비어 있으면 ${GITLAB_OPERATOR_DIR}에서 자동 생성됩니다. 이미지와 태그를 참조하려면 IMGTAG 환경 변수를 설정해야 합니다.
GITLAB_CR_DEPLOY_MODE 아니요 selfsigned 배포 모드 선택: selfsigned 또는 certmanager
GITLAB_OPERATOR_DOMAIN 아니요 KinD의 경우 ${LOCAL_IP}.nip.io, 다른 플랫폼의 경우 cloud-native.win GitLab(오퍼레이터) 배포용 도메인
GITLAB_HOST 아니요 *.${GITLAB_OPERATOR_DOMAIN} GitLab 엔드포인트 셀프 서명 인증서에 사용할 공통 이름
GITLAB_KEY_FILE 아니요 gitlab.key 셀프 서명 인증서 키 파일
GITLAB_CERT_FILE 아니요 gitlab.crt 셀프 서명 인증서 파일

(중략…)

참고: KinD의 경우 인 그레스에 대한 인증서를 생성하는 데 cert-manager를 사용하는 것은 KinD 인스턴스가 공개적으로 접근 가능한 경우에만 가능합니다.

Runner 배포

기본 배포가 수행된 후 다음 명령을 실행하여 runner를 배포합니다 (동일한 내보낸 변수를 유지해야 함):

scripts/provision_and_deploy.sh runner_deploy

또는 모두 한꺼번에 수행할 수도 있습니다 (예시로 kind 배포를 사용함):

scripts/provision_and_deploy.sh kind_deploy runner_deploy