본문 바로가기
카테고리 없음

[Jenkins] CI / CD <-> GitHub

by YJHTPII 2023. 7. 25.
반응형

 

 

https://narup.tistory.com/203

 

[Jenkins] 젠킨스와 깃허브 연동(GitHub Web Hook)

먼저 젠킨스를 설치했다는 가정 하에 글을 작성합니다. 만약 젠킨스 설치가 아직 안되신 분은 아래의 도커에 젠킨스 설치하는 방법을 보시고 그대로 다시 따라하시면 될 것 같습니다! https://narup

narup.tistory.com

 

https://narup.tistory.com/224

 

[Jenkins] 젠킨스와 깃허브 연동(GitHub Web Hook) (2)

앞에선 Jenkins Credentials에 Github를 등록했고, 여기에서는 Github Repository에 WebHook을 걸어 push가 일어나면 Jenkins에서 Catch할 수 있도록 하는 처리를 진행하겠습니다. 1. 메인 대시보드에서 새로운 Item을

narup.tistory.com

 

 

먼저 젠킨스를 설치했다는 가정 하에 글을 작성합니다.

 

 

만약 젠킨스 설치가 아직 안되신 분은 아래의 도커에 젠킨스 설치하는 방법을 보시고 그대로 다시 따라하시면 될 것 같습니다!

 

https://narup.tistory.com/202

 

[Docker] 도커에 젠킨스 설치, 도커에 젠킨스 연동

도커에 빌드 관리 도구인 젠킨스를 설치(연동)해보겠습니다. 도커는 현재 윈도우에 설치한 상태로 진행하고 있습니다! 1. 젠킨스 이미지 다운로드 윈도우 power shell을 여시고 아래와 같은 명령어

narup.tistory.com

 

도커를 사용하지 않는다면 아래 링크를 참고해주세요

https://narup.tistory.com/259

 

[Jenkins] Linux EC2에서 Jenkins 설치하기(Java 11버전 설치)

1. 개요 새로 ec2 인스턴스에 jenkins를 설치하려고 하니 java version 이슈가 있어서 설치가 곤란했었던 터라, EC2 인스턴스의 Linux 환경에서 Jenkins를 설치하는 과정을 정리해보려고 합니다. 2. Jenkins 구

narup.tistory.com

 

 

 

 

Caution!!

VSCODE에서 git branch를 main -> master 로 변경!!

Jenkins에서 빌드 에러 남!!!

 

1. 젠킨스와 깃허브 연동

먼저 자신의 깃허브로 들어가서 프로필을 클릭하고 Setting 버튼을 클릭합니다

 

그다음 Devloper settings을 클릭합니다

 

 

 

 

 

 

 

Personal access tokens를 클릭하고 Generater new token을 클릭합니다.

 

 

 

 

 

아래에 해당하는 체크박스를 모두 선택해줍니다.

 

 

 

 

 

 

 

그리고 생성을 하면 아래와 같이 토큰이 발급됩니다.

이 토큰은 생성된 순간밖에 조회가 되지 않으니 메모장 같은 곳에 기록하는 것을 추천합니다!

 

 

 

 

 

젠킨스 홈으로 돌아가서 Jenkins 관리  시스템 설정을 클릭합니다

 

 

 

 

 

 

GitHub관련 옵션을 찾고, Add github Sever 버튼을 눌러줍니다.

 

 

 

 

 

 

 

github 서버의 api를 저장하는 과정인데, Credentials 에서 어떤 계정의 깃허브 서버의 api를 연동할 것인지 설정을 해야합니다. Add – Jenkins를 눌러주세요.  

 

 

 

 

 

 

 

Kind에서 Secret Text를 선택합니다.

  • Domain : Global credentials
  • Kind : Secret text
  • Scope : Global
  • Secret : 깃허브에서 발급 받은 토큰 입력
  • ID : 임의로 저장할 ID를 입력합니다
  • Description : 안적어도 됩니다

 

 

 

 

 

 

추가를 한 뒤, 마지막으로 방금 생성한 정보로 Test Connection을 시도해봅니다. 아래와 같은 문구가 나온다면 정상적으로 연동이 된 것입니다.

 

 

 

 

 

이제 젠킨스에서 깃허브의 레포지토리를 연동해 빌드를 할 수 있는 설정이 완료가 되었습니다!

 

 

 

앞에선 Jenkins Credentials에 Github를 등록했고,

여기에서는 Github Repository에 WebHook을 걸어 push가 일어나면 Jenkins에서 Catch할 수 있도록 하는 처리를 진행하겠습니다.

 

1. 메인 대시보드에서 새로운 Item을 클릭합니다.

 

 

2. item 이름을 정하고 Freestyle project를 선택하고 Ok 합니다.

 

 

 

3. General - GitHub project - Project url 작성

레포지토리를 연결할 github url을 작성합니다.

 

 

4. 소스코드 관리 - Git - Repository URL - Credentials 작성

 

Repository URL은 3번과 동일하게 작성해주시고,

처음 Credentials에는 none으로 되어있을텐데 Add 버튼의 Jenkins를 클릭해줍니다.

 

 

Domain : Global credentials (unrestricted)

Kind : Username with password

Scope : Global(Jenkins, nodes, items, all child items, etc)

Username : 자기 깃허브 아이디

password : 자기 깃허브 패스워드

아이디 : 위 Credential의 이름입니다. 적당히 지어줍니다.

 

 

 

5. 빌드 유발 - GitHub hook trigger ofr GITScm polling

체크박스에 체크를 해줍니다.

어떤 조건에서 Jenkins 빌드를 실행할지를 설정하는데, GitHub에 코드가 푸쉬되면 빌드를 트리거링 하도록 설정을 하는 과정입니다.

이렇게 하면 Github에서 push가 일어나면 webhook 메세지를 jenkins에 보내주고, 이 webhook 메세지를 받은 jenkins는 Build를 실행합니다.

 

 

6. Github 레포지토리 설정

자신의 깃허브 레포지토리로 들어가 Setting을 선택합니다

Webhooks - Add webhook에서 payload URL을 입력해줍니다.

자신이 사용하는 젠킨스 주소:포트를 입력해주면 됩니다.

content type은 application/json으로 해주세요.

 

이제 Project에 파일을 변경하고 Push하면 Jenkins에서 확인할 수 있습니다.

 

 

반응형

댓글