Software Engineering/CICD (jenkins, etc)

CI - CI/CD 구성 - 4(GitHub Push시 자동 Jenkins Build,Test,Deploy 설정)

galid1 2019. 3. 25. 17:28
728x90

GitHub에 Code Push시 자동빌드 설정

이전 작업들을 완료했으면 별다른 설정을 해주지 않아도 이미 자동 빌드 설정이 완료되어있다. 이번 포스팅에서는 GitHub Push시 WebHook를 통해 Jenkins의 Build 트리거 설정이 잘 되어있는지 확인 하도록 하겠다.

 

 


 

 

개발 환경

 

 


 

 

GitHub WebHook 설정 확인

 

Jenkins와 연동된 프로젝트를 선택한 후 Settings 탭을 클릭한다.



 

좌측의 Integrations & services 탭을 클릭한다. 원래는 이곳에서 Jenkins와의 연동 설정을 진행해야 했지만 그림과 같이 deprecated 되었음을 알 수 있다

 


좌측의 Webhooks 탭을 클릭한다. 이전 포스팅에서 설정한 결과로 그림과 같이 Webhooks 설정이 되어있는 것을 볼 수 있다. 초록색 체크표시가 되어있다면 Webhooks 설정이 성공 적으로 되어있는 것이다. 하지만 빨간색 아이콘이 나타난 경우 GitHub에서 WebHook을 울려 대상 서비스에 POST요청을 한 결과로 좋지못한 Response 가 왔을 경우일 확률이 높다. 예측하건데 가상머신 환경에서 Jenkins를 구축하신 분들이 이러한 경우가 있을 것이다. GitHub에서 가상머신에 연결된 사설 네트워크에 접근하지 못하기 때문이다. Public IP를 연결하 실 수 있는 분들은 그렇게 하셔도 되며. 필자는 AWS의 EC2 서비스에 Public IP를 부여하여 진행했다.

 

 


 

 

GitHub에 Code Push 시 자동 Build 테스트

자신의 개발 환경에서 Jenkins와 연결된 GitHub Project의 코드를 Clone한다.

 


코드를 간단히 수정한다.

 


수정된 코드를 Add 후 Commit and Push 한다.

 



Jenkins에서 확인하면 자동으로 Push된 Code를 Test, Build 중인것을 볼 수 있다.


 

 


 

배포 확인

/var/lib/jenkins/workspace/{project-folder} 에 배포됨.

Jenkins가 설치된 서버에서 배포된 jar파일을 실행하면 변경된 코드가 실행되는 것을 볼 수 있다.