진짜 개발자
본문 바로가기

Software Engineering/CICD (jenkins, etc)

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

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파일을 실행하면 변경된 코드가 실행되는 것을 볼 수 있다.