Chanho_Park
[jenkins] Jenkins 배포 후 github push 자동 빌드화(11) 본문
지금까지 많은 시행착오가 있었다.
22번보다 더 100번은 있었을 것이다..
앞으로는 한 번에 되는 것을 기약하며 화이팅..!
앞서 지난 시간까지는 Github 연동을 하여 Jenkins 를 사용 Tomcat 배포를 마쳤다.
하지만 Github 를 썼는데 자동 배포가 되지 않는다면 Jenkins 를 사용할 필요가 없다.
이번 시간에서는 github에 push 할 때마다 Jenkins 에서 build 가 자동으로 되어 배포하는 것을 목표로 한다.
1.Github Integration plugin을 다운받아준다.
2. SSH Key Setting
한 줄씩 복사해서 EC2에 입력해준다.
sudo su -s /bin/bash jenkins
ssh-keygen
아래와 같이 나오면 enter
그 다음 또 뭐 나오면 enter enter
아래의 명령을 실행하면 public key 와 private key 가 생성되고, 생성된 public key 를 복사한다.
cat /var/lib/jenkins/.ssh/id_rsa.pub
자신의 GitHub 저장소에서 Settings > Deploy keys -> Add deploy key 에서 복사한 공개키를 등록해준다.
Title : 아무거나
Key : 복사한 공개키 등록
Add key
3.Webhook Setting
Webhook 웹상의 Trigger
Github 의 지정한 브랜치에 push가 되면 webhook 으로 Jenkins에 알려주어 Build 유발하도록 설정한다.
자동 빌드화
Setting -> webhooks -> Add webhook
* 다른 사이트 보면 Integrations & sevices 하라는데 구버전이라 사용 x
아래와 같이 작성 후 Add webhook
Payload URL 은
AWS IP :젠킨스 포트번호
이므로
젠킨스 접속했던 주소를 가져와서
젠킨스 주소/github-webhook/ 을 입력
4.Jenkins에 Token 등록하기
Jenkins관리 -> 시스템 설정 -> Github란
Name : 아무거나
Credentials - add 클릭
kind : Secret text
Secret : Github Token 입력
ID 는 Github your profile 에 사진 밑에 있는 부분 입력
Add 하고 Credentials 선택하고 Test connection 하면
저장
Jenkins -> 해당 프로젝트 -> 소스코드 관리 -> Github hook trigger for GITScm polling 체크
이 후 저장한 후
Eclipse에서 push 한 후 젠킨스가 자동으로 build 되는 지 확인하면 된다.