일단 레드마인 박스에 루트 권한으로 적당한 곳에 소스를 저장할 디렉토리를 만든다.
(현재 내가 알기로 git은 간단히 remote url 입력해서 해결 되지는 않는다)
$ sudo -i
# mkdir /var/src-repos
# mkdir /var/src-repos/[redmine-prj-name] # 여러 개의 project가 아니라면 이 단계는 생략
# cd $_
# git clone --mirror [url-of-git-repo] [local-dir-name]
이제는 redmine의 프로젝트 설정에서 (Settings > Repositories) +New repository를 선택해서 local directory를 repositiory로 추가한다.
SCM: Git
Identifier: what-ever-you-want
URL: /var/src-repos/[redmine-prj-name]/[local-dir-name]
프로젝트의 repository 에 가보면 추가된 것을 확인 할 수 있다.
여기서 끝이면 좋겠지만, 자동 업데이트 따위가 지원되지 않는다. Orz.
루트로 아래와 같은 파일을 하나 만들어서 crontab에 등록해 적당한 주기로 sync 시키면 해결된다.
#!/bin/bash
REPOS=`ls -d /var/src-repos/*/*` # 다중 프로젝트 아니면 */* -> *
for repo in $REPOS
do
cd $repo
git remote update
done
내 경우 ~/bin/sync-src-repos.sh로 저장했고 crontab -e 하면 다음과 같이 나온다.
......
*/30 * * * * /root/bin/sync-src-repos.sh
......
happy hackin'