Gerrit 플러그인 빌드 방법

by PSEG posted Aug 12, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

Gerrit Plugin Build


 2016년 7월을 기준으로 Gerrit 플러그인은 100여개에 달합니다. Gerrit 공식 페이지에서는 실행 가능한 플러그인을 제공하지 않기 때문에 운영중인 Gerrit version에 맞게 스스로 빌드 해야 하겠습니다. 본 문서는 Gerrit 플러그인을 소스로부터 빌드하고 설치하는 방법을 소개합니다. 그리고 빌드 환경은 Linux Ubuntu 또는 CentOS 입니다.

Gerrit plugin 목록 = https://gerrit.googlesource.com

이 문서에서는 delete-project 플러그인을 빌드하고 설치하겠습니다.


*몇 개의 사이트에서 Gerrit CI 빌드 결과를 제공하고 있습니다만 설치되 버전과 호환되는 binary를 찾지 못할 수도 있습니다*


사전 환경

  • JDK 설치
  • ant 설치
  • maven 설치 (일부 stable-v2.12  플러그인 빌드)
  • Gerrit 설치 (Gerrit stable-2.12가 설치되었다고 가정하겠습니다)

BUCK 설치

Gerrit 2.0부터는 빌드 도구로 maven 대신 buck을 이용합니다. Buck은 maven에 비해 엄청 빠른 속도를 제공하기 때문이랍니다.

소스코드 가져오기

$ git clone https://github.com/facebook/buck

Gerrit 버전에 맞는 buck 버전 설정하기

Gerrit의 version 알아내기:
아래 절차의 Gerrit 소스 가져오기 절차 수행 후 Gerrit version을 알아냅니다.
stable-2.12 빌드에 사용되는 buck version은 1b03b4313b91b634bd604fc3487a05f877e59dee 임을 알 수 있습니다.

$ cd gerrit
$ git checkout origin/stable-2.12
$ cat .buckversion
1b03b4313b91b634bd604fc3487a05f877e59dee


buck version 맞추기:

$ cd buck
$ git checkout 1b03b4313b91b634bd604fc3487a05f877e59dee

buck 빌드하기:

ant로 buck을 빌드합니다.

$ ant


결과물 확인과 설치:

bin 폴더 하위에 실행파일 buck이 생성됩니다.

$ ls bin/buck
buck


조금의 편리함을 위해 buck을 /usr/bin/에 복사합니다. 뭐 좋은 방법은 아니지만.

$ sudo cp buck/bin/buck /usr/bin/


플러그인 빌드하기

소스코드 가져오기

Plugin 소스코드와 Grrit 소스코드를 가져오는 것을 권장 합니다. 내키면 Gerrit 도 update 하면 좋자나요!

$ git clone --recursive https://gerrit.googlesource.com/gerrit
$ cd gerrit/plugins
$ git clone --recursive https://gerrit.googlesource.com/plugins/delete-project

소스코드 버전 맞추기

가져온 소스코드 버전을 설치된 Gerrit 의 버전과 일치시킵니다. 본 문서에서는 Gerrit stable-2.12가 설치된 것으로 가정합니다.

$ cd gerrit
$ git checkout origin/stable-2.12
$ cd plugins/delete-project
$ git checkout origin/stable-2.12


빌드하기

BUCK 이용한 빌드

$ cd gerrit
$ buck build plugins/delete-project:delete-project

delete-project 플러그인 stable-2.12는 buck으로 빌드하면 오류가 발생하는군요. Maven으로 빌드 해야겠습니다.

결과물 확인:

빌드에 오류가 없다면 결과물 buck-out 폴더 하위에 생성됩니다.
$ ls buck-out/gen/plugins/delete-project/


Maven 이용한 빌드

$ cd gerrit/plugins/delete-project
$ mvn install

결과물 확인:

$ ls target
delete-project-2.12.jar


플러그인 설치

delete-project.jar 파일을 설치된 gerrit/plugins 폴더로 복사합니다. 수 분 후 Gerrit의 plugin 페이지에 설치한 플러그인이 표시됩니다. 마음이 급하신 분들은 복사 후 gerrit restart 하시면 플러그인이 곧바로 로드됩니다.

delete-project.png



프로젝트 삭제하기

delete-project-1.png