본문 바로가기
FullStack/30. CI.CD

gitlab-ci GIT_STRATEGY

by nakanara 2022. 3. 10.
반응형

 

gitlab-runner를 통해 git 소스를 pull 받아서 처리하고자 할 때
변수 공간에 GIT_STRATEGY 항목을 사용합니다.

GIT_STRATEGY를 clone으로 사용하는 경우 매번 초기화 후 복제를 진행하기 때문에 많은 시간이 소모됩니다.
과거 git 1.8.x 버전에서는 clone만 지원되었지만, 최근 git 2.4.x 버전에서는 fetch가 지원되어 마지막 작업 이후 변경된 파일만 내려받도록 설정이 가능합니다.

  • clone: 저장소 복제(동일 프로젝트 환경 구성)
  • fetch: 마지막 작업 후 변경된 데이터만 pull
  • none: 동일 GIT작업을 연결하여 동작할 경우 별도 작업을 진행하지 않고, 프로젝트 작업 공간을 사용
  • deploy: git 저장소의 데이터를 무시하고, 캐시 또는 프로젝트 작업 공간의 파일로 진행
variables:
  GIT_STRATEGY: fetch

 

만약 fetch 변경 후 실패가 발생한다면 git 버전 확인이 필요합니다.
git 버전이 1.x 버전일 경우 fetch가 동작하지 않습니다.
CentOS 7 버전의 경우 git 1.8.x 버전이 설치되어 fetch 지원되지 않습니다.
git 버전을 변경하는 과정이 필요합니다.

GIT 1.8 -> 2.X 버전으로 변경

$ git --version
> git version 1.8.3.1

$ yum remove git

$ yum install -y https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm

$ yum install git -y

$ git --version
> git version 2.34.1
  • repo 주소가 변경되었습니다. URL 확인해주세요.

https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm

https://packages.endpoint.com/rhel/7/os/x86_64/endpoint-repo-1.7-1.x86_64.rpm

참고

반응형