앞서 Jenkins Job등록 및 Github 연동이 안되신 분들은 2. Jenkins Job 등록 및 Github 연동 글을 확인해주시기 바랍니다. ^^ ㅎㅎ
1. SSh Key 생성
// 사용자명 jenkins로 로그인
sudo su -s /bin/bash jenkins
// ssh key 생성
ssh-keygen
// 아래 경로의 ssh public key 값 복사
cat /var/lib/jenkins/.ssh/id_rsa.pub
- 아래와 같은 Public Key를 복사합니다.
2. SSH Key 등록
1) 연결시키고자 하는 Github Repository에서 Deploy Keys에 Public key 값을 등록합니다.
2) Jenkins에 Private Key 등록
- 터미널에서 아래 명령어를 통해 private key 값을 복사합니다.
cat /var/lib/jenkins/.ssh/id_rsa.pub
- Jenkins의 Crendentials → System에서 'Global credentials ~ '를 클릭합니다.
- 종류(Kind)는 SSH로 선택 후 Private Key 값을 등록합니다. 이때 ID와 Description등은 작성하지 않아도 됩니다.
3) Jenkins Job 설정 확인
- 앞서 생성한 Job에 빌드 유발을 체킹합니다.
3. Github Webhooks 설정
- 해당 repository에 git push가 들어왔을 경우 지정된 URL 주소로 신호를 보내기 위한 Webhooks를 설정합니다.
- Settings → Webhooks에 URL 주소를 추가합니다.
- URL 주소는 : " http://[EC2 URL 주소]:[지정한 포트번호]/github-webhook/ " 로 작성합니다.
이제 git push 이후 Jenkins를 통하여 코드의 연속적인 통합(CI) 과정을 확인하실 수 있습니다. 다음에는 PipeLine 설정 및 JUnit을 통한 테스트 빌드에 대해 알아보도록 하겠습니다.
참고사항
- Jenkins와 Github 연동하기 : https://jojoldu.tistory.com/291
- git push 연동 전 참고사항 : Github에서 Jenkins Job을 호출(Webhook)하기 위해서는 Jenkins가 외부에 공개되어 있어야 합니다.(내부 사설망이나 private한 설정이 되어있다면 호출이 안되서 Webhook 기능을 사용할 수 없습니다.