간단 지식/SW validation&verification

03. Redmine과 Github연동

납작한돌맹이 2021. 4. 3. 00:21
반응형

Redmine은 프로젝트 관리 도구임과 동시에 issue tracking이라는 유용한 기능이 추가되어 있다. 덕분에 맨티스나 트랙같은 bug tracking 도구들이 좀처럼 쓰이지 않는 것 같다. 지난 포스트에서 우리는 젠킨스와 깃허브를 연동했다.

2021.03.30 - [4학년/SW validation&verification] - 01. Jenkins와 Github 연동

 

01. Jenkins와 Github 연동

1. 깃허브에서 token 발행 깃허브 사이트에서 내 프로필사진을 눌러보면 여러 항목들이 뜨는데 그 중 Settings을 선택한다. 새로운 항목들이 또 주르륵 뜨는데, 그 중 맨 밑에 있는 Developer settings을

20plus3.tistory.com

코드를 수정하고 깃허브에 커밋한 후, 젠킨스에서 빌드를 하면 해당 빌드 결과에 대해 분석을 해준다. 마찬가지로, 레드마인도 깃허브와 연동하면 해당 커밋에 대한 분석을 해주는데 이 부분은 좀 더 후에 실제 예제를 가지고 다뤄보겠다. 각설하고, 레드마인과 깃허브를 연동하는 방법은 많지만 우리는 aws ec2 가상컴퓨터에서 이 프로젝트를 진행중이기 때문에 아무 방법이나 적용해서는 안된다.

 

1.  ssh에 root로 접속한다.

 ssh -i 'C:\Users\sohyeon\.ssh\MyKeyPair.pem' root@publicIP

 

2. redmine을 설치한 폴더로 이동한다.

cd /opt
cd redmine-4.0.3

 

3. 관리할 repository를 clone받는다.

git config --global credential.helper 'store --file ~/.credentials'
git clone --mirror github repository url

참고로 이전에 인스턴스를 중지한게 아니라 종료를 했다면 다시 git을 설치해주자. 실제로 나는 실수로 인스턴스를 종료해버려서 다시 실행한 후 git을 재설치하는 걸 까먹어서 조금 시간을 날려버렸다.

 

4. 깃허브와 레드마인 동기화

깃허브의 경로를 찾아주기 위해 파일을 수정해야한다.

root에서 cd /opt로 들어가서 update.sh파일을 생성하여 아래와 같은 코드를 입력한다.

//vim update.sh에 들어가서 아래 코드 저장
#!/bin/bash
cd /opt/redmine-4.0.3-0/repository이름
git remote update

//crontab -e에 아래 코드 저장
* * * * * /opt/./update.sh >> /opt/cron.log 2>&1
# crontab script end

그 후 아래 코드를 입력하여 update.sh파일을 실행시킨다.

chmod +x update.sh

실행 후 ls를 입력하면 update.sh파일이 초록색이 되어야한다. 

이 과정을 통해 레드마인에 깃허브 저장소가 자동으로 업데이트가 된다.

 

5. Redmine에 접속하여 깃허브와 연동

새로 생성한 프로젝트의 설정의 저장소에서 형상관리시스템은 git, 저장소 경로는 update.sh파일에 저장한 경로를 입력한다.

이때 형상관리시스템 하단에 빨간색으로 !가 뜨는 에러가 발생하는 경우도 있다. 이럴때는 당황하지 말고 redmine을 재시작하자.

 sudo /opt/redmine-4.0.3-0/ctlscript.sh restart

 

6. 저장소 확인

 

 

(이 글이 도움이 됐다면 광고 한번씩만 클릭 해주시면 감사드립니다, 더 좋은 정보글 작성하도록 노력하겠습니다 :) )

반응형