내부 프로젝트에서 사용하기 위해 gitlab 설치가 필요할때 상용버전이 아닌 ce버전을 사용할수 있다.
본글에서는 redhat 환경에서 gitlab-ce 설치 및 구성하는 방법을 설명하고자 한다.
1. Gitlab 설치
1.1 Gitlab-ce 다운로드
- 사이트 : gitlab/gitlab-ce - Packages · packages.gitlab.com
OS 버전 / CPU 환경에 맞는 버전을 선택하고 다운 받는다. (설치 환경 : redhat 8 / 64bit rpm)
개인적으로 gitlab-ce는 공짜라서 그런가.. 접속 사이트 찾기 어렵게 해놓은듯 하다.
1.2 Gitlab-ce rpm 설치
- 디렉토리 : /sw/ci/gitlab
- 실행계정 : ci (솔루션계정)
- 명령어 :
sudo yum install gitlab-ce-14.6.6.ce.0.el8.x86_64.rpm |
* 개인적으로 gitlab은 root로 설치하고 일반계정에 기동/재기동/종료에서 대한 sudo 권한을 주는게 나을듯함.
일반 솔루션계정으로 설치는 쉽지 않다.
2. 환경구성
2.1 Gitlab 포트 변경
- 디렉토리 : /etc/gitlab
- 파일명 : gitlab.rb
- 명령어 :
sudo vi gitlab.rb |
- 변경내용 :
external_url 'http://서버IP:서버포트/' git_data_dirs.({ "default" => { "path" => "/repo/git-data" #Gitlab 레파지토리 공간 } }) |
2.2 변경설정 적용
- 계정 : ci
- 명령어 :
sudo gitlab-ctl reconfigure |
* 환경설정 후 기동/중지/재기동 명령어 수행
2.3 Gitlab 기동/중지/재기동 명령어
- 기동 : sudo gitlab-ctl start
- 중지 : sudo gitlab-ctl stop
- 재기동 : sudo gitlab-ctl restart
3. 기타 - 가용성 확보 방안
큰규모의 프로젝트에서는 장애상황에 대비하여야 한다.
3.1 고가용성 환경 구성
3.1.1 AP#1, AP#2로 구성 (Active-StandBy)
엔진영역 / 데이터영역 구분해서 세팅하고, 장애발생시 데이터영역 AP#2 으로 mount하고 AP#2 엔진 기동
- 엔진영역 : /etc/gitlab => AP#1, AP#2 로 구성
- 데이터영역 : /repo/git-data => /repo영역을 infoscale로 구성, /etc/gitlab/gitlab.rb 에서 데이터 영역설정
3.1.1 NetBackup 솔루션 사용
데이터영역을 NetBackup 솔루션을 사용하여 백업진행
- 데이터영역 : /repo/git-data => /etc/gitlab/gitlab.rb 파일의 데이터 영역을 변경
4. 참고 - 환경구성
솔루션 계정으로 설치하고 운영을 하려고 변경을 시도했지만 해당 수정만으로는 쉽지 않으니 하기 gitlab.rb 하기 내용은 참고만하고, 변경하지 말것.
- 디렉토리 : /etc/gitlab
- 파일명 : gitlab.rb
- 설정내용 :
user['username'] = 사용자명 // Gitlab 레파지토리 관리할 계정명 user['group'] = 사용자그룹 // Gitlab 레파지토리 관리할 그룹명 user['uid'] = nil // Gitlab 레파지토리 관리할 계정의 uid user['gid'] = nil // Gitlab 레파지토리 관리할 그룹의 gid user['home'] = 'ha' // Gitlab 레파지토리 관리할 계정의 home 디렉토리 |
'IT > SCM' 카테고리의 다른 글
svn 설치 및 구성 (0) | 2022.03.10 |
---|