GitLab으로 깃 서버(Git Server)를 구축할 수 있습니다.
직접 호스팅이 가능하기 때문에 프로젝트를 직접 관리할 수 있는 장점이 있습니다.
도커(Docker)를 통해 GitLab을 쉽고 빠르게 설치하는 방법입니다.
1. 도커에서 이미지 받고 설치하기
도커에서 GitLab Community Edition을 다운로드 받을 수 있습니다.
아래 링크에서 GitLab Community Edition을 확인할 수 있습니다.
https://hub.docker.com/r/gitlab/gitlab-ce/
아래 명령어를 입력해서 이미지를 받습니다.
sudo docker pull gitlab/gitlab-ce
도커 컨테이너 생성을 위해서 디렉토리를 생성이 필요하면 추가합니다.
sudo mkdir -p /data/gitlab/config sudo mkdir -p /data/gitlab/logs sudo mkdir -p /data/gitlab/data
아래 명령어로 GitLab 컨테이너를 생성할 수 있습니다.
sudo docker run -d -p 443:443 -p 80:80 -p 22:22 --name gitlab -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
도커 컨테이너 내부에서 사용하는 포트 자체를 변경해서 아래와 같이 입력해서 생성하는 것도 가능합니다.
sudo docker run -d -p 8929:8929 -p 2289:2289 --name gitlab -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
포트를 변경해서 생성한 경우 아래 명령어를 입력해서 내부에서 사용하는 포트를 변경합니다.
sudo docker exec -it gitlab nano /etc/gitlab/gitlab.rb
/etc/gitlab/gitlab.rb 파일 수정으로 포트 설정을 변경할 수 있습니다.
먼저 웹서버 포트를 변경하기 위해서 Ctrl + W로 주석 처리된 external_url부분을 찾아서 수정합니다.
http://IP주소(URL):8929로 변경하면 됩니다.
다음으로 SSH 포트를 변경을 위해 gitlab_rails['gitlab_shell_ssh_port'] 부분을 검색합니다.
포트를 수정하고 다음으로 이메일 발송을 위한 SMTP 설정을 합니다.
구글 gmail을 사용하려면 아래와 같이 입력하면 됩니다.
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.gmail.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "my.email@gmail.com" gitlab_rails['smtp_password'] = "my-gmail-password" gitlab_rails['smtp_domain'] = "smtp.gmail.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = false gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
아웃룩 등의 다른 이메일 설정은 아래 링크에서 확인 가능합니다.
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/smtp.md
그리고 GitHub와 Bitbucket에서 프로젝트를 가져오기 위해서 아래와 같이 설정합니다.
다음과 같이 gitlab_rails['omniauth_enabled'] 등의 설정을 하면 됩니다.
gitlab_rails['omniauth_enabled'] = true gitlab_rails['omniauth_allow_single_sign_on'] = false gitlab_rails['omniauth_external_providers'] = ['bitbucket', 'github']
파일을 저장(Ctrl + X, Y, Enter)한 이후에 gmail은 추가 설정이 필요합니다.
아래 링크에서 보안 수준이 낮은 앱 허용: 사용으로 설정해야 합니다.
https://myaccount.google.com/security
하단에 있는 보안 수준이 낮은 앱 허용을 사용으로 변경합니다.
메일 연동까지 완료되면 컨테이너를 다시 시작합니다.
sudo docker restart gitlab
설정이 되면 gitlab-rails console 명령어 이후 테스트용 메일을 보내볼 수 있습니다.
sudo docker exec -it gitlab gitlab-rails console
실행하고 다음과 같이 입력해서 메일이 수신되면 됩니다.
Notify.test_email('destination_email@address.com', 'Message Subject', 'Message Body').deliver_now
받을 주소를 'destination_email@address.com'에 입력해서 확인하면 됩니다.
마지막으로 SSH 사용을 위해서 컨테이너 내부의 SSH 포트 설정을 변경합니다.
nano /etc/ssh/sshd_config
포트를 상단에서 바로 확인이 가능한데 위에서 입력한 2289를 입력하고 저장하면 됩니다.
정상적으로 설정이 완료되면 SSH를 재시작해줍니다.
service ssh restart
SSH 키 등록을 통해서 GitLab을 사용할 수 있게 됩니다.
2. GitLab 접속하기
GitLab이 정상적으로 실행되면 IP와 포트로 GitLab 웹페이지에 접속할 수 있습니다.
가장 먼저 사용할 비밀번호를 입력해서 설정해야 합니다.
비밀번호를 두 번 동일하게 입력하고 Change your password를 누릅니다.
비밀번호를 변경한 관리자 계정의 로그인 정보를 입력하고 Sign in을 누릅니다.
ID |
root |
Password |
입력한 비밀번호 |
Register를 눌러서 간단하게 새로운 계정을 등록하는 것도 가능합니다.
성공적으로 GitLab이 실행되는 것을 확인할 수 있습니다.
3. GitLab 기본 설정
각 계정은 기본적으로 10개의 프로젝트를 생성할 수 있습니다.
홈화면에서 'You can create up to 10 projects.'라고 표시가 됩니다.
관리자 계정에서는 각 계정의 최대 생성 프로젝트의 수를 설정할 수 있습니다.
관리자 계정은 우측 상단에 설정 버튼이 표시됩니다.
설정 > Overview > Users로 이동하면 각 계정 옆에 Edit 버튼이 표시됩니다.
설정 중간의 Access 하위의 Projects limit라는 설정이 10으로 설정되어 있습니다.
원하는 수치로 변경이 가능하며 하단의 Save Changes를 눌러서 저장합니다.
그 외에도 각 계정의 그룹 생성 권한 및 관리자 권한 등을 추가할 수 있습니다.
관리자 계정에서 모든 계정의 프로젝트 수 제한 설정이 가능합니다.
그리고 가입 제한을 설정할 수 있는데 특정 이메일 도메인으로 가입을 제한하는 것도 가능합니다.
회사 등의 이메일 주소로 가입을 제한할 수 있습니다.
기본적인 GitLab 설정이 완료되면 Git으로 소스 관리가 가능해집니다.
'IT > NAS' 카테고리의 다른 글
[자작NAS] 우분투 서버에 Docker로 guacamole 설치 (2) | 2018.02.03 |
---|---|
[자작NAS] 15. Bitbucket에서 GitLab으로 프로젝트 불러오기 (0) | 2016.12.15 |
[자작NAS] 13. Kodi에 PLEX 플러그인 설치 (0) | 2016.11.13 |
[자작NAS] 12. PLEX Media Server 설치 (0) | 2016.10.25 |
[자작NAS] 11. Kodi로 Tvheadend TV 시청하기 (0) | 2016.10.20 |