AWS의 ec2와 jenkins, github를 연동하여
프로젝트 소스를 git push 했을 때 배포할 수 있도록 자동배포 환경을 만들어보겠습니다.
ec2, jenkins, git의 연동 방법은 추후에 자세히 작성하도록 하겠습니다.
대략적인 흐름입니다.(이미 ec2와 jenkins, github가 연동되어 있다고 가정)
더보기
1. 관리자가 git push를 진행한다.
2. github가 push를 감지하여 Jenkins에 WebHoock을 보낸다.
(github ->Setting/Webhooks 에 설정했기 때문에)
3. Jenkins의 아이템(job)이 신호를 받는다.
4. job은 jenkins에서 설정한 git주소의 프로젝트 최신 소스를 받고 빌드하여 war를 만든다.
5. ssh 통신으로 remote 서버에 war 파일을 전송(jenkins에서 tomcat전송을 설정)
6. jenkins의 job 설정에서 Build -> invoke top-level Maven targets에서 작성한 스크립트로 기존 war 파일을 방금 빌드한 war 파일로 교체한다.(Goals )