젠킨스 깃허브 웹훅 자동빌드 설정, 17/17 AWS EC2 JENKINS 스프링부트 자동배포
1. AWS EC2 인스턴스 생성
2. EC2 보안그룹 인바운드 규칙 접속 설정
3. Putty로 EC2접속, PPK키 생성
4. EC2 인스턴스에 스왑 파티션 생성, 설정
5. EC2에 자바1.8 설치, 설정
6. EC2에 젠킨스 설치
7. 젠킨스 접속 포트 변경
8. 젠킨스 SSH, 메이븐, 깃 플러그인 설치
9. EC2에 깃 프로그램 설치
10. EC2에 메이븐 설치
11. 젠킨스에 자바 설정
12. 젠킨스에 메이븐 연결
13. 젠킨스에 깃허브 연동, 빌드
14. 스프링부트 서버 실행, 8080, 80포트 포워딩
15. 스프링부트 재시작 스크립트
16. Publish over SSH 설정
17. 젠킨스 깃허브 웹훅 자동빌드 설정
2. EC2 보안그룹 인바운드 규칙 접속 설정
3. Putty로 EC2접속, PPK키 생성
4. EC2 인스턴스에 스왑 파티션 생성, 설정
5. EC2에 자바1.8 설치, 설정
6. EC2에 젠킨스 설치
7. 젠킨스 접속 포트 변경
8. 젠킨스 SSH, 메이븐, 깃 플러그인 설치
9. EC2에 깃 프로그램 설치
10. EC2에 메이븐 설치
11. 젠킨스에 자바 설정
12. 젠킨스에 메이븐 연결
13. 젠킨스에 깃허브 연동, 빌드
14. 스프링부트 서버 실행, 8080, 80포트 포워딩
15. 스프링부트 재시작 스크립트
16. Publish over SSH 설정
17. 젠킨스 깃허브 웹훅 자동빌드 설정
Webhook은 Github에 Push되면 Jenkins가 배포하도록 하는 기능입니다.
젠킨스에 빌드/배포/재시작까지 설정되어있으니까
웹훅만 걸어주면 완전한 자동배포가 됩니다.
개발자 Push > Github WebHooks > Jenkins Build > Server Restart
1. 젠킨스 > Jenkins 관리 > 설치가능 > GitHub Intergration 체크
(이미 깔려있으면 패스)
2. GitHub Intergration 플러그인 설치
3. 프로젝트 Github > Settings > Webhooks > Add webhook
4. Payload URL에 주소 입력
http://탄력적IP:포트/github-webhook/
developer.github.com/changes/2019-03-29-webhooks-ip-changes/
5. AWS EC2 > 인스턴스 > 보안그룹 > 인바운드 허용
Github가 EC2의 Jenkins를 호출해야 되서, 젠킨스 포트를 허용해줘야 합니다.
8090은 자신의 젠킨스 접속 포트, IP주소는 Github서버들의 IP입니다.
8090 140.82.112.0.20
8090 192.30.252.0/22
6. 소스 Commit > Push
7. 프로젝트 Github > Settings > Webhooks > 하단에 전송상태 확인
8. 젠킨스 > 빌드히스토리에 저절로 빌드되는지 확인
9. 브라우저로 스프링부트 프로젝트 확인