ETC/Git

[Synology] Git Server / Gogs로 나만의 Git 구축하기

Jade Choe 2021. 7. 23. 20:53
SMALL

요즘들어 유니티 프로젝트의 의뢰가 많다.

 

유니티는 자체적으로 Collaborator라는 클라우드 스토리지 서비스를 지원하지만,
commit log를 제외하면 git처럼 버전 관리할 수 있는 곳이 암만 찾아봐도 없다.

 

Github는 파일당 100MB 제한이 있고,
BitBucket은 파일당 용량 제한은 없지만 총 용량 제한이 있다. 그리고 매우 느리다..

 

그래서 그냥 시놀로지 DSM에 있는 Git Server를 활용하기로 했다.


사전에 Git ServerMariaDB 5 설치가 필요하지만,
Git을 사용하고 서버를 구축하기 위해 여기까지 찾아온 여러분께는
구태여 설명할 필요가 없을 것 같으므로 생략합니다.

 

*** 시놀로지에서 Docker를 지원하는 경우 여기를 참조하세요. 도커로 구성하는게 추후 관리가 간편합니다.

 

[Docker] Gitea로 나만의 Git 구축하기

시놀로지 DS116+을 사용하다가 성능과 1베이 용량에 아쉬움을 느껴 DS718+를 구매했다. 전에 작성해두었던 게시글을 토대로 Gogs를 다시 설치하려다가 718+는 Docker 사용이 가능해서 추후 복구가 편하

blog.ysoft.kr

 

Gogs 설치하기

gogs-spk 다운로드

https://github.com/alexandregz/gogs-spk

위 링크를 시놀로지 폴더 어디든 clone 한다.
git clone https://github.com/alexandregz/gogs-spk.git

gogs 바이너리 파일 다운로드 및 spk 패키징

다운로드 링크 : https://dl.gogs.io/

위 링크에 들어가 본인의 입맛대로 버전을 선택한 후 시놀로지 아키텍쳐에 맞는 tar.gz 파일의 링크를 복사하고,
위에서 clone 받았던 gogs-spk 폴더로 접근한다.

 

본인의 시놀로지 아키텍쳐를 모른다면, 시놀로지 SSH로 접속해서 uname -m 명령어를 사용하면 볼 수 있다.

아래 명령어를 사용해서 복사한 링크의 바이너리 파일을 받고, 압축을 풀어준다.

 

wget https://dl.gogs.io/0.12.3/gogs_0.12.3_linux_armv7.tar.gz
rm -rf 1_create_package/gogs/ && tar zxvf gogs_0.12.3_linux_armv7.tar.gz -C 1_create_package/

 

이제 설치파일을 만들자.

 

sh ./create_spk.sh

 

완성된 파일은 현재 폴더에 gogs.spk파일로 나온다.

패키지 설치

패키지센터의 우측상단 수동설치 버튼을 누르면 되는데, 찾아보기 버튼을 누르면
시놀로지의 경로가 아니라 현재 사용중인 PC의 경로가 나온다...ㅡㅡ


다운로드를 받거나 smb / afp / nfs 등으로 마운트되어있는 폴더의 gogs.spk파일을 선택 후 설치해 준다.

DDNS 사용하기

gogs의 기본 포트는 3000번이다.


시놀로지에서 제공해주는 DDNS *****.synology.me:3000 으로 접속하면 접속할 수 없다고 나오는데,
제어판 - 외부 엑세스 - 라우터 구성에서 3000번 포트를 추가해 주면 외부에서도 접속이 가능하다.

초기 설정

 

데이터베이스 설정

본인 시놀로지의 DB서버에 접속해 gogs에서 사용할 데이터베이스를 생성해 준다.
MySQL 계열 DB 사용자는 CharSet을 utf8_general_ci로, 엔진을 innoDB로 설정해야 한다.

또, MariaDB 5 기본설정은 인덱스 길이가 제한되어 있으므로 DB생성 전에 innodb_large_prefix 설정을 해주어야 한다.

 

SET GLOBAL innodb_file_format = BARRACUDA;
SET GLOBAL innodb_file_format_max = BARRACUDA;
SET GLOBAL innodb_large_prefix = ON;

 

설치

*****.synology.me:3000으로 접속하면 /install/ 로 리디렉션되며 첫 실행을 위한 설치단계가 나온다.

 

데이터베이스 유형은 본인이 사용하고 있는 DB 유형을 선택해 준다.
나는 MariaDB 5를 사용하고 있으므로 MySQL을 선택했다.

 

호스트 항목의 호스트 IP는 그대로 두고, 포트는 MariaDB를 처음 설치할 때 지정해주었던 포트로 변경해 준다.


사용자비밀번호 항목은 본인 DB서버의 사용자 정보를 넣으면 되고


데이터베이스 이름 항목은 위에서 생성해준 이름을 넣어준다.

 

애플리케이션 일반 설정에서는 다른건 바꿔주지 않고


데몬 사용자 계정 항목에 git을 사용할 시놀로지 계정


도메인 항목에 사용할 도메인


SSH 포트 항목에 사용중인 SSH 포트 정보


애플리케이션 URL 항목에 사용할 도메인과 포트번호를 집어넣는다.

 

 

위의 모든 정보는 /usr/local/gogs/gogs/custom/conf/app.ini 에서 수정 가능하다.

 

 

BIG