형상관리

[NAS/SourceTree] Git Server 부터 SourceTree 연결 까지

Question영 2023. 1. 18. 00:52
반응형

※ 해당 글은 제가 직접 작성한 글입니다. 정확하지 않은 정보일 수 있으니 정정할 사항이 있으면 알려주시기 바랍니다.  

※ 스크랩이나 담아갈시 댓글에 출처를 남겨주세요.

 

 

안녕하세요.

신년을 맞아 나스를 구입하게되어 이것저것 해보고 있는 퀘영입니다.

평소 svn 보다 git 으로 코드를 정리하고 있는데 나스에 환경을 구축하면서 과정을 정리하려고 합니다.

 

처음엔 NAS + GitLab 으로 진행하려고 하였으나 현재 램이 2G 에 압박으로 일단 Git Server 로 진행해보았습니다.

다른분들의 블로그를 참고해보니 GitLab 을 사용하려면 최소 8G 이상 정도의 램 환경에서 진행해야 할것 같더라구요.

(아무래도 도커 때문에 그런거 같아요... ㅠ-ㅠ)

 

그리고 이번 진행 과정에서 ssh 설정이 완벽하게 되지 않아 비밀번호를 입력하는 단계가 있으니 참고해주세요.

(왜인지 모르게 ssh 설정이 정상 설정되지 않아 우선 비밀번호를 입력하는 과정을 거치는 내용으로 설명되어 있습니다.)

 

 

환경

1. 시놀로지의 DS220+ (서버)

2. LG 그램 (클라이언트)

 

필요 소프트웨어

서버 : NAS + Git Server

클라이언트 : Windows 10 + PuTTY

 

과정 (NAS 에서)

초기 나스의 세팅과정에 대한 내용은 생략하겠습니다.

 

제어판 > 사용자 > 하단 사용자 홈서비스 활성화 체크

- 이걸 해줘야 터미널에서 `cd ~` 관련된 명령어들을 사용 가능하다고 들었습니다.

 

패키지센터에서 Git Server 설치

패키지 센터
Git Server 를 설치

 

NAS에서 root, admin 외에 Git 전용 사용자 추가

[예: gituser(사용자 아이디)]

제어판 > 사용자 및 그룹
Git 서버 사용할 사용자 등록

 

SSH 서비스 활성화 및 포트 변경

보안을 위해서 기본 22 로 되어 있는 포트를 2222로 변경해주었습니다.

(다른분들은 보안을 위해 다른 포트로 변경하는 것을 권장 드립니다.)

 

 

 

Git Server 설정화면에서 gituser(사용자 아이디) 에 접근허용 체크

 

[window] PuTTY 프로그램을 이용해서 ssh 접속

 

Host Name 에 나스 아이피 입력

저는 192.168.0.13 로 잡혔는데 초반 나스에 접속할때 잡히는 로컬 ip 로 설정하시면 됩니다.

장소마다 정보가 다를 수 있어요~

 

나스 사용자 아이디 입력 (예: abc123)

사용자 아이디까지 같이 입력

 

등록한 사용자폴더로 이동

$ cd /var/services/homes/gituser(사용자 아이디)

 

git 저장소로 이용할 폴더 생성

$ mkdir repository.git

 

저장소로 이동

$ cd repository.git

 

git 선언


$ git init --bare

$ git update-server-info

$ git remote update

$ cd ..

$ chown -R gituser(사용자 아이디):users(사용자 그룹) repository.git

 

과정 (Window 에서)

SourceTree > 상단 탭 중 '+' 선택 > Clone 클릭

 

git 클라이언트 설치

저는 SourceTree 로 설치했습니다. Fork 를 설치해서 진행해도 됩니다.

 

git bash 프롬프트 실행

$ ssh-keygen

$ ssh-copy-id gituser(사용자 아이디)@192.168.0.13(NAS IP)

SourceTree 에 내장되어 있는 터미널을 통해 ssh key 를 발급받아 나스 서버에 .ssh 에 등록하는 과정을 거치면 됩니다.

저는 ssh 이 과정을 거치지 않더라도 id/pw 를 통한 접근도 가능하더라구요.

 

연결 주소

저는 연결해야하는 주소를 계속 혼동할 것 같아 예시를 작성해 놓았습니다.

ssh://\[nas 사용자id\]@192.168.0.13:\[ssh 포트번호 \]/var/services/homes/\[nas 사용자 Id 폴더\]/repository.git

 

기타

  • 사용자 id 와 그룹 확인 id
$ id [사용자 ID]
  • chown 로 사용자 그룹 설정시 root 권한이 필요하기 때문에 root 사용자로 변경 ( sudo -i 입력 혹은 sudo -s 입력) 하고 권한 설정하면 좀 더 쉽게 진행 할 수 있습니다.

 

 

참고 자료 1. https://gutmate.tistory.com/entry/Synology-NAS-Git-Server-%EC%84%A4%EC%B9%98

참고자료 2. https://www.icatpark.com/entry/Synology-Nas-%EC%97%90-Git-Server-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%A4%EC%A0%95

참고자료3. https://www.bearpooh.com/40

반응형

'형상관리' 카테고리의 다른 글

[SourceTree] Mac 에서 반복해서 암호를 물어볼경우  (0) 2023.01.05