다잘하고싶어

Jenkins에 GitHub 연동하기 본문

프로젝트회고

Jenkins에 GitHub 연동하기

챙영잉 2022. 10. 26. 12:04

Jenkins에 GitHub 연동하기

먼저 깃헙 토큰을 발급받아온다!

지금부터는 그 이후 단계!

  • Jenkins 관리  Manage Credentials  System  Global credentials  Add Credentials


Gradle 설정

해당 프로젝트를 그래들로 빌드할 것이므로 그래들 설정해주기

먼저 필요한 플러그인들을 설치해준다.

  • Jenkins 관리 → 플러그인 관리 → 설치가능 탭 → 필터 검색
  • Gradle Plugin : 프로젝트를 Gradle로 빌드할 수 있는 플러그인
  • Post build task : 빌드 로그를 판단해 batch/shell을 실행하는 플러그인

Jenkins 관리 → Global Tool Configuration → Gradle → Add Gradle

  • 맞는 Gradle 버전을 설정
  • Gradle 버전 확인 : 인텔리제이에서 project - wrapper - gradle-wrapper.properties 파일에서 확인하기


프로젝트 추가

  • 대시보드에서 + 새로운 Item 클릭

일단은 간단한 작업만 수행할 것이므로, freestyle project 선택.

파이프라인을 사용한 작업을 보고싶다면 아래의 포스팅 참고하기

https://22chaechae.tistory.com/25

 

1. 소스코드 관리

  • Git으로 설정
    • 연동하고자 하는 GitHub Repository URL 입력
    • Credentials 은 이전에 등록했던 깃헙 아이디와 토큰을 가지고 있는 것을 선택 
     

2. 빌드 유발

  • GitHub Repo에 push하면 웹훅이 해당 젠킨스로 내용 전달해주는 것을 트리거로 빌드할 수 있도록 하는 설정
    • GitHub hook trigger for GITScm polling 활성화
     

지금까지 설정한대로라면 젠킨스는 깃헙을 클론해서 변경사항을 인식해주는 역할만 한다.

따라서 그 이후 자동으로 빌드해주고, 배포해주는 등의 처리는 따로 설정해주어야 한다!

위의 설정은 변경사항을 인식해서 새로 빌드해줄 수 있도록 트리거를 설정해주는 과정이다.

 

 3. 빌드

  • Gradle로 빌드 할 것이므로 Invoke Gradle script로 추가
  • Gradle Version은 위에서 설정한 Gradle로 설정
  • bootJar : 즉, Gradle이 SpringBoot 빌드하는 명령

여기서 bootJar 란?

이전의 프로젝트 배포 관련 포스팅에서 설명했듯이, 

참고 포스팅 https://22chaechae.tistory.com/19

그래들에서 build 를 클릭하면 gradle 이 자동으로 빌드해서 자르파일을 생성해준다.

이때 build 를 클릭하면 jar파일과 plain.jar 파일을 생성해주고 (두 개의 차이점도 위의 참고포스팅에 나와있음)

그냥 bootJar를 클릭하면 jar파일만을 생성해준다.

따라서 우리는 gradle 상의 springboot 를 빌드하는 명령이 자동으로 내려지도록 설정해두는 것이다.

따라서 마저 설정을 진행하면

4. 빌드 후 조치

  • 이제 push → clone 후 build 까지는 완료 되었으니, 이미 실행 중인 프로젝트를 종료하고, 해당 빌드된 .jar파일을 실행시켜야한다.
  • Log text : BUILD SUCCESS
  • Script : 이미 실행중인 프로젝트 종료하는 스크립트와 실행시키는 스크립트
# 8080포트에서 실행 중인 프로세스를 KILL 하는 명령어
fuser -k -n tcp 8080

# 해당 .jar 파일을 백그라운드에서 자바로 실행시키는 명령어
nohup java -jar /var/lib/jenkins/workspace/{현재 만들고 있는 프로젝트명}/build/libs/{빌드된 .jar파일명} &
  • /var/lib/jenkins/workspace/{현재 만들고 있는 프로젝트명} 이 디렉토리는 현재 만들고 있는 젠킨스 프로젝트를 만들면 만들어질 것이다.
  • /var/lib/jenkins/workspace/{현재 만들고 있는 프로젝트명}/build/libs/{빌드된 .jar파일명} 이 위치의 .jar파일은 bootJar가 실행되면 만들어질 것이다.



저장하면 완료된다.