이 문서는 Bamboo에서 submodule을 위해 고려해야 하는 사항을 정리한다.

Bamboo 기준 버전: 6.6.2

개요

Submodule을 포함하는 저장소의 경우 checkout 단계에서 추가로 submodule 소스 가져오기 작업을 수행해야 한다.

Submodule 인증 정보 설정 

[submodule "a031_sub"]
        path = a031_sub
        url = http://10.1.19.10:7990/scm/a030/a031_sub.git


옵션 : cache
일정 시간 동안 메모리에 인증정보를 기억 / 이 정보를 Disk에 저장하지 않음 / 메모리에서 15분까지만 유지
옵션 : store
인증정보를 Disk의 텍스트 파일로 저장하며 계속 유지 / 리모트의 인증정보를 변경하지 않는 한 다시 인증정보를 입력하지 않아도 접근 가능 / 매번 사용자이름과 암호를 입력하지 않아도 됨


1. bamboo agent에서 최초 로그인 정보를 저장한다 


$ git config --global credential.helper store
$ git clone http://10.1.19.10:7990/scm/a030/a031_sub.git


Cloning into 'a031_sub'...
Username for 'http://10.1.19.10:7990':         -- 저장소 접근 계정
Password for 'http://crowd@10.1.19.10:7990':   -- 패스워드 


2. 계정 홈디렉토리 .git-credentials 저장 파일 생성 
 - 계정 정보 저장 됨 


[submodule "a031_sub"]
        path = a031_sub
        url = ssh://git@10.1.19.10:7999/a030/a031_sub.git


1. bamboo agent계정 키 생성


$ ssh-keygen -t rsa
-rw-------.  1 root root 1675  9월  8 16:06 id_rsa
-rw-r--r--.  1 root root  409  9월 10 14:01 id_rsa.pub

2. bitbucket 저장소 설정에서 공개 키 등록 

id_rsa.pub 정보 확인 -> Add key 클릭 -> 공개 키 정보 입력




Submodule 소스 가져오기

Repository option 사용하기

Script 사용하기

Source Code Checkout 후 script task를 이용해 submodule 소스코드 가져오는 명령을 수행한다.

git submodule init
git submodule update


HTTP(S) Authentication 원인으로 submodule checkout 오류

Bamboo의 submodule  인증 지원 미흡으로 기본 인증 정보 설정이 필요하다.

아래의 정보를 참조하여 설정한다.