Jenkins 자동 배포 2편
DevOps

Jenkins 자동 배포 2편

1편에서 다룬 내용을 모두 수행해야 2편의 작업이 수행 가능합니다.

>> Jenkins 자동 배포 1편 바로가기 <<

 

이제, Jenkins 대시보드에서 새로운 Item을 만들어보자.

대시보드 > 새로운 Item을 선택하면 다음과 같은 창이 뜨는데, 여기서 아이템 이름을 마음대로 정하고, Freestyle project를 선택하자.

그 다음 오른쪽 메뉴바에서 구성을 선택한다.

구성의 General에서 이제 우리의 Github Project를 등록해주어야할 때가 왔다 🚀

하지만 그 전에, 깃허브에서 해 주어야할 설정이 있다.

 

우리가 젠킨스와 연결할 깃허브 레포지토리에 접속한다.

해당 repository > settings > Webhooks > Add webhook을 선택한 뒤, 입력창을 채워준다.

Payload URL - http://{Jenkins EC2 public IP}:{연결 포트}/github-webhook/ (

ex. http://123.456.78.9:8080/github-webhook/)

Content type - application/json

 

그리고, 이제는 깃허브 내 계정의 Settings에 들어간 뒤, Developer Settings의 Personal access tokens 탭에 접속한다.

여기서 generate new token을 선택한 뒤, 다음의 값들을 선택한다. 

이미지 출처: 갓대희의 작은 공간 (https://goddaehee.tistory.com/258?category=399178)

 

그렇게 personal access token까지 생성되었다면, 다시 Jenkins 대시보드로 돌아가자.

 

이제, 대시보드 메인 화면에 우리가 등록한 아이템이 보일 것이다. 그 아이템을 선택한 뒤, 구성으로 다시 들어가자.

 

구성에서 먼저 General 부분을 설정해줄 것이다.

Github project를 체크한 뒤, project url에 연결할 레포지토리 주소를 기입한다. 여기서 주의할 점은 마지막에 /를 붙여야한다.

그 다음은 소스코드 관리이다.

소스 코드 관리에서 Git을 선택하고, 연결할 레포지토리의 주소를 .git을 붙여 작성한다.

그 다음, 레포지토리에서 배포에 관여할 브랜치를 작성해준다. 나의 경우 step1 브랜치를 배포하므로 */step1으로 작성하였다.

그리고 이제 브랜치 위의 Credentials의 Add를 누르고, Jenkins 버튼을 누르면 아래와 같은 이미지가 뜰 것이다.

여기서 우리는 Kind를 Secret Text로 변경해준 뒤, Secret 탭에 아까 생성한 Github Personal Token을 복붙해서 넣어준다. 

ID와 Description은 자유이다.

 

그 다음, 빌드 유발을 Github hook trigers for GITScm pollling을 선택하고, Build에서 Use Gradle wrapper를 선택한다.

우리 프로젝트에서 빌드 시 wrapper를 선택하도록 되어있기 때문이다.

사진에서는 짤렸는데 Tasks에는 clean build를 입력한다.

 

그리고 빌드 후 조치를 작성한다.

Source files - build/libs/*.jar (소스파일이 위치한 경로)

Remote prefix - build/libs (자르파일을 가져올 때 remote prefix로 적은 부분을 제외하고 jar파일만 가져오게 된다.)

Exec commad - ./home/ubuntu/deploy.sh (자르 파일 실행 시 기존에 실행 중인 PID를 죽이는 등의 작업을 하는 shell script)

 

이렇게 모두 설정을 마쳤다면, Apply 및 저장을 하고, 로컬에서 push를 하면 된다!!!!!!!

push를 하면, Jenkins Item 대시보드의 Build History에서 다음과 같이 내역을 확인할 수 있다.

 

끗!

안되는 거 있음 댓글 부탁~