- gitlab 공식 사이트의 설치 가이드 제공 URL → https://about.gitlab.com/install/#centos-7?version=ce
- gitlab을 docker container registry로 사용 가능
- 쿠버네티스 CI/CD 파이프라인으로 활용 가능
- 무료 버전인 ce(Community Edition)을 찾아서 설치해야 라이선스 없이 설치 가능
- 공식사이트의 설치가이드를 따라 설치하면 ee(Enterprise Edition)의 가이드를 보여주기 때문에 ee버전을 설치 → 주의 필요
gitlab을 설치하기 전의 사전작업 (메일서버 설치)
- gitlab에서 사용자 가입 인증이나 관리자에게 Alerts이나 기타 이유로 메일을 보내야 하므로 메일 서버를 설치
$ yum install postfix -y $ systemctl enable --now postfix $ systemctl status postfix
gitlab 패키지 설치하기
1. 패키지 저장소 등록
- curl를 이용하여 gitlab package repository를 등록
$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
2. 패키지 설치
- yum을 이용하여 등록된 패키지를 설치
- EXTERNAL_URL은 지금 설치한 gitlab 웹사이트에 접속할 URL을 입력
- 보통 도메인이 있으면 도메인명을 입력하지만 도메인이 없는 경우 일단 그냥 IP번호를 작성해도 됨
- Port를 다른 포트로 사용한다면 port번호도 :으로 구분하여 작성 → port는 8001로 가정
- yum install -y gitlab-ce 설치
# EXTERNAL_URL="자신의 도메인이나 접속가능한 IP:접속할 Port번호" yum install -y gitlab-ce $ EXTERNAL_URL="[서버 IP]:8001 또는 도메인" yum install -y gitlab-ce
3. 설치한 gitlab 실행
- 설치에 별 문제가 없는 경우는 설치가 완료
- 도메인 또는 [서버 IP]:8001을 웹브라우저에 입력하면 gitlab 로그인 화면 출력되면 설치에 반은 성공
4. 설치한 gitlab에 로그인
- 최초 접속 시 로그인 아이디는 root
- 최초 접속시 root 비밀번호 갱신 → qwer1234
$ gitlab-rails console -e production irb(main):005:0> user = User.where(id: 1).first => #<User id:1 @root> irb(main):006:0> user.password='qwer1234' => "qwer1234" irb(main):007:0> user.password_confirmation='qwer1234' => "qwer1234" irb(main):008:0> user.save => true
- root 계정 로그인 성공
gitlab 설정하기
- gitlab의 설정은 설치된 폴더에서 gitlab.rb을 변경
- 보통 설치 위치는 /etc/gitlab/gitlab.rb → gitlab 많은 설정이 해당 파일에서 적용 가능
$ vi /etc/gitlab/gitlab.rb
1. 업로드 파일 용량 변경
- 한번에 업로드해야 할 파일의 용량이 큰 경우 사이즈 조정 필요 → 업로드 파일 용량을 1G로 제한
- 앞에 주석(#)을 제거해야 반영됨
$ vi /etc/gitlab/gitlab.rb ## ...중략... nginx['enable'] = true nginx['client_max_body_size'] = '1G'
2. 레파지토리 저장 디렉토리 위치 변경
기본은 지정된 레파지토리 저장위치가 있으나 드라이브를 별도로 추가하여 운영하는 경우는 다른 드라이브로 저장 위치를 변경해야함
git_data_dirs 함수 아래에 원하는 저장 디렉토리를 지정
/dev/sdb1와 mount된 /data 디렉토리 아래에 gitlab_data에 저장(/data/gitlab_data)
/data/gitlab_data/ 디렉토리가 없다면 해당 디렉토리 생성 필요
$ mkdir /data/gitlab_data # 레파지토리 저장 디렉토리 위치 변경 $ vi /etc/gitlab/gitlab.rb ## ...중략... git_data_dirs({ "default" => { "path" => "/data/gitlab_data" } })
3. 도메인 생성 및 SSL 적용
IP를 사용할 경우 SSL 사용 X
SSL을 사용하는 경우 도메인 필요
/etc/gitlab/ssl 디렉토리로 crt, key 파일 복사 필요
$ vi /etc/gitlab/gitlab.rb external_url 'https:/도메인' nginx['redirect_http_to_https'] = true nginx['redirect_http_to_https_port'] = 80 nginx['ssl_certificate'] = "/etc/gitlab/ssl/도메인.crt" nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/도메인.key" # 도메인 생성 및 SSL 설정 적용 $ gitlab-ctl reconfigure
gitlab 터미널 명령어
- 대표적인 gitlab의 터미널 명령어
1. gitlab 재설정 후 재시작
- gitlab 설정을 변경하였다면 재설정과 재시작
$ gitlab-ctl reconfigure
2. gitlab 시작
- gitlab 시작
$ gitlab-ctl start
3. gitlab 종료
- gitlab 종료
$ gitlab-ctl stop
4. gilab 재시작
- gitlab 재시작
$ gitlab-ctl restart
gitlab 삭제
- gitlab를 삭제해야 할 경우는 아래의 명령어로 삭제
- 남아있는 폴더나 파일이 있는경우 수동으로 삭제 필요
1. gitlab 명령어 삭제
- gitlab 삭제
$ gitlab-ctl uninstall $ gitlab-ctl cleanse $ gitlab-ctl remove-accounts $ dpkg -P gitlab-ce || sudo yum -y remove gitlab-ce
2. 수동삭제 → rm -rf 명령어로 해당 디렉토리 삭제
- gitlab 삭제에 필요한 디렉토리 목록
- /opt/gitlab - /var/opt/gitlab - /etc/gitlab - /var/log/gitlab
'Opensource(오픈 소스) > git(깃)' 카테고리의 다른 글
쿠버네티스 테스트 환경에 CI/CD 구성(VScode → jenkins → Github → ArgoCD → Kubernetes) (0) | 2022.07.30 |
---|---|
gitlab(IP 사용)에서 container registry 활성화 → flash 이미지 활용 (0) | 2022.07.30 |