IT이야기/시놀로지

시놀로지에 gitlab 완벽 설치하기

어쩌다보니여기까지~ 2018. 7. 22. 02:02
반응형

시놀로지 DS918+로 넘어오면서 이것저것 알아가고 있는 중 입니다. 첫차를 중고차로 시작하듯 DS211+를 중고로 시작해서 지금까지 3번의 기기변경이 있었습니다.

이전 기기에서는 git서버를 운영하기 위해서git서버 패키지gogs를 설치하여 사용을 했었는데요.

gogs로 시놀로지의 Git Server을 Github처럼 사용하는 방법 참조

DS918+로 넘어오니 gitLab 패키지를 Docker형태로 공식 제공하고 있어서 설치를 해 봤습니다.

GitLabGithub처럼 내 시놀로지 나스를 활용해서 웹브라우저에서 GitLab GUI형태로 사용할 수 있게 해주는 Git Server 입니다.

Gitlab 패키지 설치하기

패키지 센터
▲ 먼저 패키지 센터에 접속을 하면 유틸리티 쪽에 GitLab을 볼 수가 있습니다. GitLab은 Docker로 제공되기 때문에 Git Server을 별도로 설치할 필요는 없습니다.

공유폴더 및 포트 설정
▲ 기본으로 세팅되어 있는 공유 폴더 이름HTTP 포트 번호, SSH 포트 번호에 대해서 잘 모르겠으면 그냥 그대로 설치를 해도 됩니다.

해당 포트를 시놀로지 나스의 제어판 > 보안 > 방화벽에서 오픈을 해줘야 합니다. (아래에 포트오픈하는 방법을 기록했습니다.)

외부에서 접속을 하기 위해서는 공유기에서도 해당 포트를 오픈해 줘야 합니다.

  • 공유 폴더 이름 : 물리적으로 git파일들이 저장되는 폴더의 이름입니다.
  • HTTP 포트 번호 : 설치가 완료되면 GitLab에 접속할때 필요한 포트번호입니다. (예: http://xxxxx.myds.me:30000)
  • SSH 포트번호 : 보안설정 접속포트번호 입니다. (예: https://xxxxx.myds.me:30001)

도메인 및 이메일 설정
▲ 도메인 이름은 기본적으로 localhost로 되어 있는데 localhost로 설정을 하면 내부에서는 접근이 가능하나 외부에서는 접근이 불가능하게 됩니다.
자신이 설정한 DDNS의 주소를 적어주는 것을 추천합니다.

  • 도메인 이름 : 설치한 GitLab에 접속하는 주소입니다. 이전에 설치한 포트번호와 같이 사용하게 됩니다. (예: http://xxxxx.myds.me:30000)
  • 이메일 : 관리자 이메일을 입력합니다.

SMTP 설정
SMTP는 GitLab에서 이메일을 발송할때 사용하는 메일서버입니다.
저는 개인적으로 사용하는 Git Server라서 이부분은 세팅하지 않았습니다. 세팅하지 않아도 다음단계로 넘어갈 수 있습니다.

자격증명
▲ 기본적인 로그인에 대한 아이디와 비밀번호를 알려줍니다. 굳이 사용되지 않더라구요. 그냥 다음으로 넘어가면 됩니다.

데이터베이스 계정 증명
▲ 이번은 데이터베이스에 대한 설정입니다. 데이터베이스는 MariaDB 10을 사용합니다. MariaDB 10이 설치되어 있지 않다면 이 패키지도 자동으로 설치가 됩니다.
MariaDB 10에 접근할 수 있는 관리자 아이디/패스워드를 설정하시면 됩니다.

  • 중요!! gitlab업데이트 후에 MariaDB에서 Postgresql로 변경이 되었습니다. (변경되면서 주의할 점은 이글 아래에 추가한 내용을 참고하세요)

데이터베이스 설정
▲ Gitlab에서 사용할 데이터베이스이름을 설정합니다. 기본값을 그대로 사용해도 됩니다.

설치를 위한 설정정보
▲ 이제 모두세팅된 정보를 보여줍니다. 아직 설치된 것은 아니고 적용버튼을 누르면 설치하기 시작합니다. 대략 2분~5분 정도 설치가 됩니다

gitlab 패키지 설치 완료
▲ 설치가 완료되면 프로그램 리스트에 이렇게 GitLab 아이콘을 볼 수 가 있습니다.

이렇게 설치가 완료됩니다.
설치가 완료되고 GitLab을 실행시켰을 때 짠~하고 gitlab 초기화면이 나오면 좋겠지만 경우에 따라 502 에러가 발생했다는 화면을 먼저 볼 수 가 있습니다.

P.S. 시놀로지 나스에서 포트여는 방법

502 에러를 해결하기 위해서는 포트를 열고 방화벽을 오픈해 줘야 합니다.

시놀로지 나스 포트여는 방법

  1. 먼저 방화벽을 활성화 시켜야 합니다.
  2. 방화벽 프로파일을 엽니다.
  3. 생성 및 편집을 실행시킵니다.
  4. 포트 중 두번째에 있는 응용프로그램 목록에서 선택합니다.
  5. 응용프로그램 목록에서 Docker synology_gitlab의 포트를 선택하고 확인

또 P.S. 중요!!!!! gitlab 업데이트 후 자꾸 죽는 문제 해결

gitlab이 업데이트 하면서 데이터베이스가 MariaDB에서 Postgresql로 바뀌었습니다. 그러면서 오류가 발생한 것 같은데.. 개고생하다가 결국 시놀로지 지원센터를 통해 문제를 해결 했습니다.

**증상** : synology_gitlab을 실행시키면 1분정도 로딩을 하다가 죽어버리는 문제 발생.

**원인** : Docker의 synology_gitlab이 시동을 걸면서 60초정도 Postgresql의 응답을 기다리는데 Postgresql이 방화벽에 막혀 있어서 응답이 없자 synology_gitlab이 죽어버리는 현상

**해결방법** : Postgresql(5432)redis(6379)의 방화벽이 닫혀있었던 것이 문제. 이 두개의 포트를 수동으로 오픈을 시켜줘야 함.

방화벽 오픈
먼저 방화벽 규칙편집에서 방화벽 규칙을 새로 하나 추가 합니다.

  1. 사용자 지정을 선택합니다.
  2. 프로토콜을 TCP로 선택하고 포트 5432, 6379를 추가합니다.

다시 gitlab을 실행시키면 정상적으로 실행이 됩니다.