CI/Jenkins

Jenkins 와 Gradle을 이용한 Build 연동

후뤼한잉여 2015. 12. 8. 10:00

Jenkins 와 Gradle을 이용한 Build 연동

1. 개요

Ant를 조금 사용해본 것 외에 의존 라이브러리까지 관리해주는 Maven을 사용해 본 적이 없었습니다.
그러던 중 Gradle이라는 Ant와 Maven의 장점을 녹여냈다는 Gradle이 요즘 뜨는 추세라고 하여 Maven을 건너뛰고 Gradle을 사용하기로 마음을 먹었습니다.
Gradle에 대해서도 간단한 사용법 정도로만 알고 있지만 우선 Jenkins와의 연동을 통해 Gitlab에 푸시된 소스를 빌드할 수 있을 정도로의 환경을 구축을 해본 내용을 정리한 글입니다.
참고로 사용된 OS는 CentOS 7 Minimal 버젼입니다.

2. Gradle 설치

Gradle을 통한 빌드를 사용하려면 Gradle을 설치해야합니다. Maven이나 Ant또한 마찬가지입니다.

  1. 의존 패키지 다운로드
    centos minimal 버젼에서는 unzip 패키지가 설치되어 있지 않기 때문에 추가로 설치하였습니다.
     sudo yum install unzip
    
  2. Gradle 바이너리 파일 다운로드
    작성일 기준 최신 버전인 2.9버젼을 다운로드 합니다.
     wget https://services.gradle.org/distributions/gradle-2.9-bin.zip
    
  3. 다운 받은 Gradle 압축파일 압축 해제
     unzip gradle-2.9-bin.zip
    
  4. 이름 변경
    사용 편의상 이름을 변경한 부분으로 안하셔도 됩니다.
     mv gradle-2.9-bin.zip gradle
    
  5. gradle 위치 이동
    관리하기 편한 곳으로 이동시키기 위해 한 작업으로 안하셔도 됩니다.
     sudo mv gradle /usr/lib
    

3. Jenkins 설정

  1. Jenkins 접속
  2. 왼쪽 메뉴 중 [Jenkins 관리] 메뉴 클릭
  3. [플러그인 관리] 메뉴 클릭
  4. [설치 가능] 탭에서 Gradle plugin 플러그인 설치

     

  5. Jenkins 재시작 후 Jenkins 재접속

  6. 왼쪽 메뉴 중 [Jenkins 관리] 메뉴 클릭
  7. [시스템 설정] 메뉴 클릭
  8. 중간에 Gradle 메뉴에서 [Gradle installations…] 버튼 클릭
  9. [Add Gradle] 버튼 클릭
  10. Jenkins에서 구분할 Gradle 이름과, Gradle이 설치된 디렉토리 입력
    • 저는 앞서 /usr/lib/gradle로 이동시켰기 때문에 /usr/lib/gradle이 gradle 홈 디렉토리가 되었습니다.

4. Jenkins Job 설정

여기에서는 기존 가지고 있는 Job의 내용을 변경을 하지만, 신규 등록 할 때는 신규 등록시 설정하는 화면에서 진행하면 됩니다.
신규 등록하는 방법은 GitLab 과 Jenkins CI 연동하기를 참고하셔서 등록하시면서 추가적인 부분만 이 글을 보시면 됩니다.

  1. Jenkins 접속
  2. 변경할 Job(Project)를 선택
  3. 왼쪽 메뉴 중 [구성] 메뉴 클릭
  4. 중간에 Build 부분에 [Add build step]을 클릭하면 나오는 메뉴중 [Invoke Gradle script] 선택
  5. 설치되어있는 Gradle 중 사용할 Gradle을 선택하고, 작업할 Tasks를 입력 및 Build시 사용할 Build File의 이름을 입력해준 후 [저장] 해주면 됩니다.

 

이 후에는 설정에 따라 Git push를 통해 빌드가 잘 되는지 확인등을 해보시면 됩니다.
위에 Build 설정한 내용은 지극히 간단한 내용만 등록하였습니다.
추가적인 부분은 Gradle과 Jenkins를 어떻게 쓰냐에 따라 달라집니다.