DevOps

3. Jenkins + git push 연동

Daniel0617 2019. 8. 25. 14:55

앞서 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 설정 확인

3. Github Webhooks 설정

  • 해당 repository에 git push가 들어왔을 경우 지정된 URL 주소로 신호를 보내기 위한 Webhooks를 설정합니다.
  • Settings → Webhooks에 URL 주소를 추가합니다.

    - URL 주소는 : " http://[EC2 URL 주소]:[지정한 포트번호]/github-webhook/ " 로 작성합니다.

이제 git push 이후 Jenkins를 통하여 코드의 연속적인 통합(CI) 과정을 확인하실 수 있습니다. 다음에는 PipeLine 설정 및 JUnit을 통한 테스트 빌드에 대해 알아보도록 하겠습니다.

참고사항
  • git push 연동 전 참고사항 : Github에서 Jenkins Job을 호출(Webhook)하기 위해서는 Jenkins가 외부에 공개되어 있어야 합니다.(내부 사설망이나 private한 설정이 되어있다면 호출이 안되서 Webhook 기능을 사용할 수 없습니다.

'DevOps' 카테고리의 다른 글

AWS Infra 설명서 : IAM  (0) 2022.10.06
AWS Infra Tutorial(1)  (0) 2022.08.23
CI/CD 참고  (0) 2022.03.17
2. Jenkins Job 등록 및 Github 연동  (0) 2019.08.15
1. AWS EC2(Ubuntu18.04-LTS)에 Jenkins 설치  (0) 2019.08.11