(기준: Jenkins-2.132, GitLab-11.0.3)


사전 조건: gitlab과 jenkins가 연동이 되어있어야함.


1. Jenkins에서 GitLab 관련 플러그인을 설치한다. 


2. GitLab에서 User 설정 -> Access Tokens 으로 들어가 Name과 Expires at을 설정한다. 


3. Jenkins에서 Credentials를 만든다. GitLab API Token을 만든다. Token에는 아까 GitLab에서 만든 Token을 넣어준다.


4. Jenkins관리 -> 시스템 설정으로 들어간다.


5. GitLab 탭에서 Connection name(아무거나), host URL (https://gitlab.com <- 이걸로!) credentials는 아까 만든걸 넣어준다.


6. Jenkins 프로젝트 만든다 (freestyle)


7. 구성에 들어간다. -> gitlab connection에 방금 만든 connection name이 들어가 있다. 


8. 소스 코드 관리에 git을 클릭한다. url에 gitlab에서 만든 프로젝트 url을 넣어준다. Credentials는 새로 하나 만든다. (Username with Password)로 gitlab 정보 넣어준다.


9. 빌드 유발에 Build when a change is pushed to Gitlab 클릭한다. 고급에 secret token을 생성한다. 


10. 다시 Gitlab으로 돌아간다. setting -> integrations 에서 webhooks를 설정한다. URL은 URL은 http://호스트/project/작업이름 SecretToken은 아까 Jenkins에서 만든 Secret token을 넣어준다. (이때 테스트 시 404에러가 나는 경우 jenkins 아이디 비번을 URL에 추가한다. ex )  http://ID:PWD@호스트/project/작업이름)


10-1. 만약 gitLab과 jenkins가 같은 로컬서버에 설치된 경우 gitLab에서 root계정으로 접속하여 admin area에서 setting-> outboundRequest에서 Allow requests to the local network from hooks and services설정을 체크해주어야 정상적으로 Webhook이 동작한다.


11. 다시 jenkins로 돌아가 설정을 마무리한다. Build부분에는 자신이 사용할 sh를 설정하고 빌드 후 조치에 Build_name을 입력하고 저장한다.


12. gitLab에서 push event를 해본다. 


13. 자동으로 빌드되면 성공

+ Recent posts