질문을 삭제하지 말아주세요.!
 
1
0
-1

사내에서 버전관리서버와 이슈트래킹서버 도입을 고려중에 있습니다.

다만, 버전관리서버만 중앙에 두고 다양한 이슈트래킹서버를 연동해서 사용하는 형태로 가고자 합니다.

 

버전관리서버는 Gitolite로 구축을 할 예정이구요,

이슈트래킹서버로는 Jira, Redmine, GitLab 등을 사용할 예정입니다.

 

Gitolite서버와 이슈트래킹시스템이 동일 서버에 존재할 경우 연동하는 방법과 노하우는 쉽게 찾을 수 있습니다만, 

문제는 이처럼 Gitolite 서버만 외부로 따로 구성하려고 하니 문제가 복잡해 지네요.

 

물론 Repository Mirror를 설정하는 방식으로 쓸수는 있겠지만,

제가 원하는 것은 그게 아니라 이슈트래킹시스템 자체적으로 중앙 버전관리서버에 Repository 생성/push가 가능하며, 사용자별로 쓰기 가능한 branch도 설정이 가능하고 이러한 설정이 모든 이슈트래킹 서버에서 공유가 가능했으면 좋겠습니다.

 

우선 Redmine의 경우 redmine_git_hosting 플러그인을 통한 Gitolite 서버 연동 시,

분리가 불가능하며, 반드시 동일 서버에 구성이 되어 있어야 한다 라는 redmine_git_hosting 개발자의 공식 답변을 확인했습니다.

 

https://github.com/jbox-web/redmine_git_hosting/issues/330

https://github.com/jbox-web/redmine_git_hosting/issues/278

 

참고 :

 commented on 26 Jan 2015

Is this supported?

Nope.

What happens if I don't configure sudo?

It won't work.

This is a recurring question so I'm gonna update the doc : Redmine and Gitolite must be on the same server as Redmine needs to access to repository files (through sudo) to display them within the interface. On the top of that, think about the latency you could have when you browse your repository ;)

 

참고2 :

n-rodriguez commented on 25 Sep 2014

As I write on the subject is it possible to use redmine_git_hosting with git/gitolite installed on a different server ?

Server 1 : redmine + redmine_git_hosting
Server 2 : git + gitolite

Nope. They must be on the same server as Redmine needs to access to repository files (through sudo) to display them within the interface. On the top of that, think about the latency you could have when you browse your repository ;)

 

이유인즉슨, Redmine에서는 Gitolite 내의 Repository에 접근하기 위해 내부적으로 sudo 커맨드를 사용하는데, 아시는 바와 같이 sudo 커맨드는 원격에 있는 사용자를 대상으로 할 수 없기 때문이라고 합니다.

 

그럼 Redmine은 안되다고 치고, GitLab이나 Jira는 별도의 독립된 Gitolite 서버를 구성하는 것이 가능할까요?

 

고견 여쭙겠습니다.

    CommentAdd your comment...

    1 answer

    1.  
      2
      1
      0

      Redmine의 redmine_git_hosting 플러그인으로 gitolite의 계정을 관리하고 저장소 추가/생성하는 등 완전 제어 하려면 로컬이 필수 입니다.

      하지만 gitolite 서버를 따로 분리해서 운영하고 단지 redmine은 저장소를 읽기만 해도 된다면 gitolite 서버의 gitolite 가 관리하는 repositories 디렉토리를 레드마인 서버에 네트워크 mount를 하고 redmine이 Git 으로 mount 된 디렉토리를 가르켜면 됩니다.

      이때 mount한 디렉토리의 소유자가 redmine을 돌리는 웹서버의 소유자와 동일하게 만들어서 읽기 권한에 문제가 없게만 하시면 됩니다.

       

      글을 좀 더 자세히 읽어보니 완전히 컨트롤이 되어야 하는군요. 큰 차이는 없을 것 같습니다. nfs 또는 sshfs 마운트를 하면 어차피 로컬 디렉토리 처럼 인식이 될테니 마운트 할때 소유자와 그룹만 정확하게 명시해주시면 될 것 같습니다. 그리고 gitolite에 있어서 중요한 것은 ssh key 이므로 gitolite 서버의 gitolite와 redmine 서버의 gitolite 의 설정을 동일하게 셋팅하고 저장소 디렉토리만 마운트해서 같이 사용하면 될 것 같습니다.

      1. HeuJung

        답변 감사합니다.

        NFS, SSHFS 쪽으로 한번 알아보도록 하겠습니다.

        오늘도 편안한 하루 되시길 바랍니다.

      CommentAdd your comment...