본문 바로가기
Programming/Raspberry Pi

Raspberry Pi(라즈베리파이) Docker + Redmine + Mysql + Git 세팅하기 [7편: Redmine Git과 연동 (7/7)]

by BACKK0M 2018. 7. 13.
반응형

이번 과정에서는 Redmine과 Git을 연동하고 이를 활용하는 방법에 대해 기술하겠습니다.

우선 이전에 생성한 Redmine 컨테이너에 접속합니다.

$ sudo docker exec -it redmine bash


그 후 Git을 설치해줍니다.

# apt-get install git


설치가 완료되었다면 컨테이너에서 나옵니다.

# exit


Redmine 컨테이너와 공유되어있는 디렉토리 중 repositories 라 생성한 디렉토리 내에 원격 저장소(bare repository)를 생성해줍니다. 여기서 주의할 점은 디렉토리 생성 시 .git 을 꼭 써주셔야 한다는 점입니다.


$ cd redmine_backup/repositories

$ sudo mkdir testproject.git

$ cd testproject.git

$ sudo git init --bare --shared


ls 명령어를 사용하여 디렉토리 내에 있는 내용물들의 정보를 알아봅니다.

$ ls -al



위의 그림을 보면 root 라 적혀있는 것이 보입니다. 왼쪽에 나온 root는 소유자, 오른쪽에 나온 root는 소유 그룹을 나타냅니다. 보편적으로 특별히 변경하지 않았을 경우 소유자와 소유 그룹은 같게 나오게 됩니다. 이를 설명드린 이유는 바로 pi 계정을 통해 외부에서 접근 가능하도록 수정하기 위한 사전 지식이랄까요? ㅎㅎ

소유자 및 소유 그룹을 pi 계정으로 바꾸는 작업을 진행합니다. 우선 현재 디렉토리의 경로를 파악합니다.

$ pwd



터미널 창에 나온 결과를 복사해줍니다. 그 후 아래의 명령어를 통해 해당 경로에 대한 소유자 및 소유 그룹을 변경합니다.

$ sudo chown -R pi:pi /home/pi/redmine_backup/repositories/testproject.git


그 후 ls 명령어를 사용하여 다시 한 번 디렉토리 내부에 있는 내용물들의 정보를 확인합니다.

$ ls -al



이로써 라즈베리파이에 대한 세팅이 끝났습니다. 이제부터는 세팅한 것을 활용해보도록 하겠습니다.

로컬에서 터미널을 열어주세요(저는 Mac이라.. Windows인 경우 Git Bash를 열어주세요).


Git 프로젝트를 다운로드할 경로로 이동한 뒤 서버에 저장된 원격 저장소를 clone 하여 로컬에 다운로드합니다.

$  git clone pi@라즈베리파이주소:/home/pi/redmine_backup/repositories/testproject.git


라즈베리파이 pi 계정의 비밀번호를 입력해줍니다.



해당 경로의 디렉토리를 확인해보면 testproject라는 디렉토리가 생성된 것이 확인될 것입니다. clone 후 맨 아래에 비어있는 저장소를 클론 하였다는 경고문이 나타나지만 신경 쓰지 않으셔도 됩니다. 


testproject 디렉토리로 이동합니다.

$ cd testproject


파일을 하나 생성해줍니다.

$ nano README.md


내용으로는 아래의 문구를 적어줍니다.

testproject


ctrl + x , y를 차례대로 눌러 저장해준 뒤 작업 디렉토리에서 인덱스로 보내기 위해 add를 해줍니다.

$ git add *


파일이 제대로 추가되었는지 확인하기 위해 아래의 명령어를 입력해봅니다.

$ git status



위와 같이 초록색 글씨로 나타나게 된다면 인덱스로 성공적으로 보내짐을 알 수 있습니다.

변경사항을 확정하기 위해 commit을 진행합니다(HEAD에 반영하기).

$ git commit -m'git init'



위와 같은 문구로 나타나게 된다면 성공적으로 commit이 완료된 것입니다.

이제 원격 저장소로 전송해보도록 하겠습니다. 우선 git이 원격 서버 주소를 잘 알고 있는지 확인해볼까요?

$ git remote -v



origin이라는 계정을 통해 fetch 및 push를 할 수 있겠군요. push(원격 서버로 전송)을 해봅니다.

$ git push -u origin master

pi 계정 비빌 번호 입력



위와 같은 문구가 나타나게 된다면 원격 저장소로 전송이 성공적으로 끝난 것입니다.


마지막으로 Redmine에 접속하여 프로젝트를 생성하고 저장소를 git으로 연결해보겠습니다.

우선 Redmine에 접속합니다(여러분들의 서버).

http://라즈베리파이주소:3000


페이지의 오른쪽 상단에 있는 로그인 버튼을 눌러줍니다.

ID: admin

PW: admin


로그인이 완료되면 아래와 같은 문구가 나타납니다. 



원하는 비밀번호로 변경해줍니다. 그 후 적용 버튼 클릭!


이제 프로젝트를 생성해보겠습니다. 



초기 화면에서 왼쪽 상단에 있는 프로젝트를 클릭합니다.



그 후 오른쪽 부분에 있는 새 프로젝트를 클릭해줍니다.



이름에 원하는 이름을 넣고(TestProject) 아래의 만들기 버튼을 클릭해줍니다.



완료되었으면 설정에서 저장소를 클릭해줍니다.



저장소 추가를 눌러줍니다.



형상관리시스템에 Git을 선택해주고 주 저장소에 체크 표시 해줍니다.

식별자는 조건에 맞게 작성해주세요.


저장소 경로는 라즈베리파이의 경로가 아닌 Redmine 컨테이너 내부의 주소로 적어주셔야 합니다(6편에서의 기억을 떠올려보세요).

/opt/redmine/repositories/testproject.git


파일이나 폴더의 마지막 커밋을 보고 란에 체크 표시하게 되면 commit할 때 적은 설명이 페이지에 나타나게 됩니다.

그 후 아래에 있는 만들기 버튼을 클릭해줍니다.



제대로 연결되었는지 확인하기 위해 시별자 아래에 있는 프로젝트 이름(파란색) 링크를 클릭해주세요(여기서는 tesproject).



위와 같은 화면으로 전환된다면 성공입니다. 혹시 나타나지 않는다면 바로 전 과정에서 생성한 저장소를제거하고 다시 생성해주세요. 경로가 맞는지 꼭! 다시 한 번 확인해보세요!


파일을 확인해보겠습니다. README.md를 클릭해주세요.



내용이 같은지 확인해주세요.


제가 준비한 부분은 여기까지입니다. 1편부터 7편까지 따라오시느냐 고생 많으셨습니다 :)

반응형