본문 바로가기

기술자료/개발도구

Yona의 Git 프로젝트를 Jenkins로 빌드하기

요즘 Jenkins로 다양한 프로젝트를 자동 빌드를 진행하고 있다.

대부분은 SVN 버전관리를 이용해서인지, 사실 큰 어려움 없이 Jenkins 설정을 마칠 수 있었다.
그런데, SVN의 branch 와 merge에 대한 필요가 있어서 작업을 하려다가, 지속적으로 svn 버전간의 문제인지, 아니면 Yona의 문제인지, xml 어쩌고 저쩌고 에러가 나기 시작했다.

결국 포기하고, git으로 전환을 하긴했다.
버전 이력은 날라갔지만, Yona에서는 svn -> git이 매우 무난하게 진행이되었고, Visual Stuiod 내에도 정상적으로 연결할 수 있었다.

그런데 똭... Jenkins에서 정상적으로 소스를 다운받지 못하고 hang이 걸린 상태로 멍....


왜 이런가 하면서 이런 저런 참고 글들을 보고 뒤적였는데, 대부분의 경우는 git 을 통해서 jenkins로는 큰 이상 없이 잘 된다고 한다. 그런데, 딱하나.. git에 암호가 걸려서 소스 접근시 계정정보를 물어볼 때 이런 현상이 걸리는 것 같다.

동작 로그를 가만히 보니 아래와 같았다.

 git --version # timeout=10
using GIT_ASKPASS to set credentials user-up

GIT에 암호가 걸려서 그런거 같다.

내 빌드 서버는 Visual Studio로 빌드를 해야 되기 때문에, 안타깝게도 Linux로 구성된 것은 아니기 때문에, git을 윈도우 버전으로 설치해 놓은 상태이다.

그러니 당연히 git-Windows x64용이 설치되어 있고, 아무 생각없이 쭉 그대로 설치했었다.

그런데, 이게 걸림돌인듯...

Jenkins 플러그인인 git 은 자체적으로 credential을 이용하는데, git 프로그램에서 자체적으로 가진 credential  프로그램으로 인증하라고 뜬다. ( 마치 NTLM 아이디, 패스워드 묻는 창 )

이거 때문에 행이 걸리는 것이였다.


해결하는 방법은 간단하다.

일단 git 창을 연다. (대개 도스창)

그리고 다음 명령을 하나씩 넣는다.

git config --global --unset credential.helper
git config --system --unset credential.helper


아마 전체, 시스템 설정이므로, 아무데서나 실행하면 된다.

위와 같이 넣자~ 자동으로 쭈루루룩....

여튼 jenkins와 git은 아직 나에겐 미스터리 투성이다.