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 설치
소스코드 가져오기
$ git clone https://github.com/facebook/buck
Gerrit 버전에 맞는 buck 버전 설정하기
$ 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으로 빌드 해야겠습니다.
결과물 확인:
$ 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 하시면 플러그인이 곧바로 로드됩니다.
프로젝트 삭제하기
포스팅하신 문서를 기준으로 gerrit을 빌드하고있습니다.
게릿 버전과 buck빌드 버전을 맞추고
buck build gerrit을 하면
buck does not appear 하며 오류가 나타납니다.
다른 설정이 더 필요한가요?