jenkins를 사용하게 되면 대게 폴링을 이용하여 형상 관리 시스템의 리비전이 변경되었는지를 체크한다.
만약 변경이 되어 있으면 빌드가 실행되고, 변경이 없다면 빌드가 실행되지 않는다.
허나 이 방법은 매번 jenkins 시스템이 형상관리 시스템으로 불필요한 요청을 보내게 되는데 이런 문제를 해결할 수 있는 기술이 hook이다.
hook의 동작 방식은 개발자가 github에 소스 코드를 push하면 github 시스템이 jenkins 시스템으로 noti를 보내게 되는 방식이며 이를 받은 jenkins 시스템은 빌드를 시작하게 된다.
다음은 설정 방법이다.
1. GitHub plugin 플러그인 설치
2. Jenkins > configuration > GitHub Web Hook 이동
- Let Jenkins auto-manage hook URLs 라디오 버튼 클릭 후 Username, Password를 입력한다. (github 로그인, 패스워드를 입력)
3. hook 기능을 사용할 job 프로젝트의 설정에 Build when a change is pushed to GitHub 체크
4. github 페이지 이동 후 프로젝트 선택 > 우측에 Settings > Service Hooks 클릭
- Service Hooks 목록 중 Jenkins (Github plugin)을 선택한 후 다음과 같이 설정한다. 젠킨스 시스템 URL 뒤에 빨간 박스 영역의 URI만 추가하면 된다. 즉, /github-webhook/ 만 추가하면 되는 것이다.
'개발툴' 카테고리의 다른 글
Git Fetch와 Merge 비교 (1) | 2014.01.29 |
---|---|
Jenkins 에서 shell로 tomcat startup 시 동작하지 않는 문제 (0) | 2014.01.26 |
eclipse EGit 시나리오별 사용법 (4) | 2014.01.18 |
Git Configuration 프로젝트별 사용자 정보 셋팅 (0) | 2014.01.18 |
Jenkins + Atlassian Stash(Git) 연동 (2) | 2014.01.15 |
maven debug 모드로 goal 실행 (0) | 2014.01.14 |
Git 원격 저장소 maven multi module 프로젝트 가져오기 (1) | 2014.01.10 |
eclipse svn client (Subversive) 에서 svn 아이콘이 안 보이는 현상 (0) | 2014.01.02 |