카테고리 없음

Jenkins로 CI구축하기 part 2

혹등고래1호기 2023. 3. 30. 01:12

앞서 part 1 에서는 CI와 Jenkins, 도커를 사용해서 Jenkins를 설치하는 과정을 알아 보았다. 

 

이번 part2는 본격적으로 CI의 구축 과정을 다뤄보려고 한다.

Backend에 CI구축

1. Jenkins Item 

젠킨스에서 하나의 CI/CD 프로젝트를 구축하기 위해서는 아이템(Item)을 생성하여야 한다. 젠킨스 서버에 여러개의 아이템을 만들 수 있고 각각의 아이템들은 개발자가 설정하는 것에 따라 다르게 동작한다. 젠킨스에서 아이템을 만드는 방법은 대표적으로 FreeStyle과 Pipeline이 존재한다. 먼저 이 두가지에 대해서 알아보자

 

FreeStyle VS Pipeline

  •    Pipeline
    • Pipeline은 스크립트 언어인 Groovy문법을 통해서 디테일한 일련의 작업들의 순서와 흐름을 정의할 수 있고 작업별 성공/실패 유무와 로그를 파악하기에도 유용한다. 본인 같은 경우에는 Pipeline을 통해서 자동배포 환경을 구축할 것이다
  • Pipeline
  • 파이프라인은 코드로 프로젝트 설정을 할 수 있어 프리스타일과 다르게 젠킨스 웹에 직접 접근하지 않아도 설정 변경이 가능하다. (웹을 통한 설정도 가능하다.)
  • CI/CD 파이프라인 설정을 하나의 스크립트 파일(Jenkinsfile)로 프로그래밍을 통해 할 수 있다.
  • Freestyle과 다르게 하나의 스크립트 파일(Jenkinsfile)을 통해 흐름 제어를 할 수 있다.
  • 일반 코드처럼 버전 관리가 가능하게 된다.

 

  •    FreeStyle
    • 프리스타일의 장점은 GUI기반으로 젠킨스를 구성을 할 수 있다. 간단한 작업에 적합하고 복잡한 작업을 할 경우에는 Pipeline을 일반적으로 사용한다.
  • FreeStyle
  • 웹 기반의 GUI를 통해 여러 플러그인을 쉽게 사용할 수 있다.
  • CI 파이프라인에 변경 사항을 만들기 위해서는 젠킨스에 로그인해 각각의 프리스타일 잡의 설정을 변경해야만 한다.
  • CI/CD의 과정을 콘솔을 통해서만 확인할 수 있다.
  • 각각의 과정들을 한번에 보기 어렵다.

    

2. Jenkins FreeStyle로 CI 구축하기

가장 먼저 Jenkins와 Github를 연동 시켜야 하는데 아래의 링크에 잘 정리 되어있으니 참고하면 좋을 것 같다

https://kitty-geno.tistory.com/88

 

Jenkins + Github 연동하기

Jenkins 설치 후 진행해주시기 바랍니다.

kitty-geno.tistory.com

 

Jenkins에 접속 후 아이템 생성을 클릭하고 생성하고자하는 아이템의 이름을 입력 한 후 FreeStyle을 선택하여 아이템을 생성한다.

 

   

아이템을 생성하면 파이프라인의 설정 페이지로 넘어갈 것이다. 

 

 GitHub Project의 레파지토리의 URL을 설정해준다.

 

 

그리고 소스 코드 관리에서 credentials를 설정해주자 credential

 

UserName에는 깃허브 아이디 Password에는 깃허브 비밀번호를 입력해주자 ID같은 경우에는 따로 설정을 해도 되고 비워놔도 된다.

 

 

빌드 유발에서 깃허브 훅이 반응할떄 빌드가 유발되도록 체크 해주자 

 

 

다음과 같이 설정 / Tasks에는 빌드시 사용될 gradle task를 입력

: Task에 Build

 

그리고 아이템을 생성을 하면 최종적으로 완료가 된다.