[Jenkins] trackingSubmodules 옵션에 관하여

사건의 발단

얼마전 부터 회사에서 관리하는 미들웨어 repository에서 일부 모듈들을 git submodule로 분리하여 관리하기 시작했습니다.

이와 대응해 Jenkins 파이프라인(Groovy 스크립트)에도 submodule과 관련된 스크립트를 추가했는데요. 최근 submodule 들이 parent repository에 커밋된 해시 코드가 아니라 최신 으로 체크아웃 받아져서 빌드되는 것을 확인되었습니다.

각 submodule에 최신으로 커밋된 수정사항들이 문제가 없어서 릴리즈에는 문제가 없었는데, 수정된 내용 중에 일부 플랫폼에는 아직 반영되면 안되는 사항들이 추가된 것을 로그 분석 중에 우연히 확인한 것이었습니다.

문재 해결

결론적으로, trackingSubmodulestrue에서 false로 변경하여 해결하였습니다.

구체적으로, 위의 코드에서 사용되는 플러그인 클래스 ‘SubmoduleOption’은 다음과 같은 옵션을 지원합니다.

  • disableSubmodules: Git 서브모듈 기능을 비활성화할지 여부를 설정합니다.
  • parentCredentials: 부모 Git 저장소의 자격 증명을 사용하여 서브모듈을 가져올지 여부를 설정합니다.
  • recursiveSubmodules: Git 서브모듈을 재귀적으로 처리할지 여부를 설정합니다.
  • reference: Git 서브모듈을 업데이트할 때 사용할 참조를 설정합니다.
  • trackingSubmodules: Git 서브모듈을 추적할지 여부를 설정합니다.
이 글은 카테고리: Memo에 포함되어 있습니다. 고유주소를 북마크하세요.

댓글 남기기