사용자 도구

사이트 도구


git:gitblit

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
git:gitblit [2013/06/26 17:31]
kwon37xi [protect-refs hook]
git:gitblit [2015/03/26 10:58]
kwon37xi [Gitblit]
줄 1: 줄 1:
 ====== Gitblit ====== ====== Gitblit ======
   * http://gitblit.com Java JGit 기반으로 만들어진 설치가 쉬운 Git 저장소 서버.   * http://gitblit.com Java JGit 기반으로 만들어진 설치가 쉬운 Git 저장소 서버.
 +  * 설치도 쉽고 사용법도 쉽지만 성능은 좀 떨어진다. 프로젝트가 대규모가 될 경우 성능저하가 심했다.
   * [[http://gitblit.com/setup.html|Gitblit 설치/설정]]   * [[http://gitblit.com/setup.html|Gitblit 설치/설정]]
   * [[https://github.com/gitblit/gitblit|GitBlit 소스 리포지토리]]   * [[https://github.com/gitblit/gitblit|GitBlit 소스 리포지토리]]
줄 11: 줄 12:
 client_max_body_size 1000M; client_max_body_size 1000M;
 </code> </code>
 +  * Git 저장소의 크기가 증가하면 저장소 웹페이지 들어가는 속도가 느려진다. 이때 저장소 설정에서 **크기 계산 무시**, **메트릭 요약 무시**를 체크한다.
 +==== Gitblit GO ====
 +  * gitblit GO 버전은 HTTP가 꺼져있다. ''gitblit.properties''의 ''server.httpPort = 8080'' 지정 필요.
 +  * 압축을 풀고 아래 명령으로 실행<code sh>
 +java -server -Xmx1024M -Djava.awt.headless=true -jar gitblit.jar --baseFolder data
 +</code>
 +
 ===== Hook ===== ===== Hook =====
   * Groovy 기반으로 후킹이 가능하다. [[http://gitblit.com/setup.html|Gitblit 설치/설정]] 참조.   * Groovy 기반으로 후킹이 가능하다. [[http://gitblit.com/setup.html|Gitblit 설치/설정]] 참조.
줄 74: 줄 82:
 boolean success = true boolean success = true
  
-commands.each ReceiveCommand command ->+for (ReceiveCommand comment : commands{
     if (...) {     if (...) {
         command.setResult(Result.REJECTED_OTHER_REASON, "${repository.name} 리포지토리에 커밋 실패");         command.setResult(Result.REJECTED_OTHER_REASON, "${repository.name} 리포지토리에 커밋 실패");
줄 80: 줄 88:
         break         break
     }     }
 +
 } }
  
줄 109: 줄 118:
   * ''gitblit.properties''의 ''mail.*'' 프라퍼티에 이메일 서버 정보를 저장해 둘 수 있다.   * ''gitblit.properties''의 ''mail.*'' 프라퍼티에 이메일 서버 정보를 저장해 둘 수 있다.
   * 메일 발송에 관한 자세한 코드는 Gitblit 배포본의 ''sendmail.groovy''를 참조한다.   * 메일 발송에 관한 자세한 코드는 Gitblit 배포본의 ''sendmail.groovy''를 참조한다.
 +
 +==== 작업 대상 Reference 확인 ====
 +  * ''commands'' 객체는 [[http://grepcode.com/file/repo1.maven.org/maven2/org.eclipse.jgit/org.eclipse.jgit/2.2.0.201212191850-r/org/eclipse/jgit/transport/ReceiveCommand.java|ReceiveCommand.java]] 클래스의 컬렉션이다.
 +  * 이 ''ReceiveCommand''의 인스턴스에서 ''getRefName()'' 메소드의 결과는 ''refs/heads/[branch_name]]''형태이다.
 +  * 이를 통해 작업 대상 브랜치를 알아낼 수 있다.
 +
git/gitblit.txt · 마지막으로 수정됨: 2015/03/26 10:58 저자 kwon37xi