회사에서 Gerrit~GitHub 연계를 위해서 방법을 찾던 中

부서원들이 GitHub Plugin이라는 것이 있다는 것을 알아냈는데... 좀 문제가 있었다.


바이너리가 아니라 빌드를 해서 사용해야한다는 문제인데...

더욱 더 큰 문제는... 빌드가 쉽지는 않다는 사태가...


기본 가이드 링크는 아래와 같다.

   - https://gerrit.googlesource.com/plugins/github/+/refs/heads/stable-2.12/README.md


언제나 그렇지만... 시키는대로 따라할 수가 없어서 문제이지...



[ Action ]


참고할 정보가 있는 기준(?) 레퍼런스...


https://gerrit-review.googlesource.com/Documentation/dev-buck.html

링크가 깨졌다.


그렇지만, 포기하지 않는다!!!

https://review.openstack.org/Documentation/dev-buck.html

여기에서 확인할 수 있었다.



① Git

   - 소스들을 받아오기 위해서는 기본적으로 Git이 필요하다.


$ sudo apt-get install git


② JDK

   - Gerrit은 기본적으로 Java 기반이기에... 가이드에는 JDK7이 필요하다고 되어있다.

   - 무시하고 JDK8로 환경을 맞춰서 했다가 다 망했다..

   - 무조건 JDK7 환경으로 진행을 해라!!!


③ Ant

   - Buck 이라는 빌드 도구를 빌드하기 위해서는 Ant가 필요하다.

   - 응!? Unix is not Unix ?


$ sudo apt-get install ant


④ Gerrit download

   - Gerrit 빌드할 준비를 위해 미리 소스코드를 내려 받는다.

   - 이번 빌드는 2.10 버전을 기준으로 할 것이다.

     (실제로 2.10 버전을 보면 2.10.7 까지 있는데, 우선은 가이드에 있는 2.10.2 버전으로 해보겠다)


$ cd /srv/workspace

$ git clone --recursive https://gerrit.googlesource.com/gerrit

$ cd gerrit

$ git reset --hard v2.10.2



⑤ Buck

   - 이번에 처음 들어본 빌드 도구이다. Buck ?!

   - Facebook 에서 만들었고, 오픈소스로 공개한 것인가 보다.

      . https://buckbuild.com/

      . https://github.com/facebook/buck


$ cd /srv/workspace

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

$ cd buck

$ git checkout $(cat ../gerrit/.buckversion)

$ ant

$ export PATH=$PATH:/srv/workspace/buck/bin/



⑥ Gerrit Build

   - 이제 Buck으로 Gerrit을 빌드해보자. 안해도 된다. 그냥 해보기.


$ cd /srv/workspace/gerrit

$ buck build gerrit



⑦ maven

   - 뒤에 것들을 진행하기 위해서 이것도 필요하다.


$ sudo apt-get install maven



⑧ GitHub API

   - 이것도 필요하단다...


$ cd /srv/workspace

$ git clone https://github.com/lucamilanesio/github-api.git

$ cd github-api/

$ mvn install -DskipTests=true



⑨ singleusergroup plugin

   - 또 필요한거 빌드 하자.


$ cd /srv/workspace/gerrit

$ cd ./plugins/singleusergroup

$ git reset --hard v2.10.2

$ cd /srv/workspace/gerrit

$ buck build plugins/singleusergroup/



⑩ github plugin

   - 이제 본게임으로 들어가자

   - 최신 버전으로는 빌드가 안되어 알아낸 방법..... 2.10 버전으로 하면 된다.


$ cd /srv/workspace

$ git clone https://gerrit.googlesource.com/plugins/github

$ cd github

$ git checkout -b stabe-2.10 origin/stable-2.10

$ mvn install


...


[INFO] ------------------------------------------------------------------------

[INFO] Reactor Summary:

[INFO] 

[INFO] Gerrit Code Review - GitHub integration ........... SUCCESS [2.338s]

[INFO] Gerrit Code Review - GitHub OAuth login ........... SUCCESS [22.009s]

[INFO] Gerrit Code Review - GitHub plugin ................ SUCCESS [18.869s]

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 44.113s

[INFO] Finished at: Mon Mar 27 00:09:03 KST 2017

[INFO] Final Memory: 31M/91M

[INFO] ------------------------------------------------------------------------


빌드까지는 성공~

이후 설치 및 셋팅은 다음 기회에~^^


github-oauth-2.10.3.jar

original-github-oauth-2.10.3.jar

github-plugin-2.10.3.jar

original-github-plugin-2.10.3.jar

github-api-1.69.jar

github-api-1.69-SNAPSHOT.jar

singlegroup.tar.gz

singlegroup.tar.gz

singlegroup.tar.gz

github-oauth-2.13.jar

original-github-oauth-2.13.jar

github-plugin-2.13.jar

original-github-plugin-2.13.jar

singleusergroup.tar.gz

github-api-1.69-SNAPSHOT.jar

singlegroup.tar.gz


반응형

+ Recent posts