Redmine과 Git을 연동하려면 깃 저장소와 Redmine이 같은 서버에 있어야 한다.
EC2에 Redmine을 설치해뒀기 때문에, Git 저장소를 클론해 같은 서버에 있는 것 처럼 속여야 한다.
먼저 redmine이 설치된 폴더로 이동한다
cd /opt/redmine-설치버전
그 후 다음 명령어를 입력해 clone해온다.
git config --global credential.helper 'store --file ~/.credentials'
git clone --mirror https://....../xxxx.git
http://~ 부분에 원격 저장소 주소를 입력한다.
redmine에서 사용할 로컬 저장소는 원 저장소의 변경 사항을 계속 받아와야한다.
crontab을 이용해 주기적으로 받아와야 한다.
git 저장소를 클론받아온 디렉토리(redmine 설치 디렉토리)에 update.sh를 작성한다
(나의 경우 /opt/redmine-4.0.3-0 이다.)
SoftwareV-V.git과 update.sh가 같은 디렉토리에 있는 것을 볼 수 있다.
update.sh 내용(vi로 작성)
#!/bin/bash
cd /your-git-src-path
git remote update
your-git-src-path는 위에서 clone받은 저장소 위치를 적어준다.
레드마인 설치 디렉토리에서 나가지 말고 그대로 쉘에서 crontab을 편집한다.
crontab -e
crontab 수정 내용
관리 -> 설정으로 들어간다.
저장소 탭으로 들어간 후 빨간색으로 체크한 곳을 모두 체크표시 해준다.
[프로젝트] -> 설정 -> 저장소 -> 저장소 추가
저장소 경로는 위에서 clone받은 EC2 깃 저장소 위치를 작성한다.
[프로젝트] -> 저장소에 들어가서 연동을 확인할 수 있다.
두 경우 모두 404 error가 발생한다.
redmine에서 저장소 위치를 잘못 작성한 경우
-> 저장소 위치를 다시 확인한다.
3번에서 수정한 redmine 설정이 아직 반영 안된 경우
-> EC2 연결을 끊고 재접속 하거나, 재접속으로 해결이 안된다면 인스턴스 중지 후 재실행 해본다.