GitLab Platform Short Runbook¶
이 문서를 볼 때¶
- OS 준비 완료 후 GitLab을 설치/구성할 때
- GitLab 권한, 그룹, 프로젝트, Runner, CI/CD 표준을 적용할 때
- GitLab 기반 release storage와 ops server polling deploy를 구성할 때
먼저 필요한 입력값¶
- GitLab FQDN
- 구조: 단일 서버, reverse proxy 분리, HA
- GitLab Web HTTPS 처리 위치
- Git SSH 포트
- 데이터 저장 경로와 mount 방식
- 백업 경로
- SMTP 사용 여부
- 관리자 계정 정책
- 가입/도메인/토큰/runner 정책
- Release Storage 사용 여부
- Ops Server 배포 대상 서비스명
설치/구성 작업 순서¶
- 사전 준비 및 시스템 요구사항 확인
- 스토리지 경로와 bind mount 준비
- 네트워크 정책 결정
- GitLab 설치
gitlab.rb설정- SELinux/firewall 설정
- Nginx reverse proxy 설정
- 초기 관리자와 보안 정책 적용
- 백업과 secrets 관리 기준 확인
- Web, Git SSH, 자체 점검 검증
운영 정책 작업 순서¶
- 그룹/프로젝트 구조 결정
- Role/permission 정책 적용
- 접근 제어 정책 적용
- 브랜치 전략과 deploy policy 적용
- Runner 구성
- CI/CD 표준 적용
- release metadata spec 확인
Ops Server 작업 순서¶
- AIStor/Release Storage 설치
- 프로젝트별 bucket, IAM, access key 정책 적용
.ops/cdbootstrap source 준비- 운영 서버 bootstrap 실행
- poll-release timer/service 구성
- 수동 poll-release 검증
- rollback 절차 확인
중단 조건¶
- GitLab FQDN과 DNS가 미정
- SSL 종료 위치가 미정
- Git SSH 포트와 OS SSH 포트 분리가 미정
- GitLab 데이터 저장 경로와 mount 설계가 미정
gitlab-secrets.json백업 위치가 없음- Runner token 또는 MinIO access key를 repository에 저장하려 함
.release-storage.env같은 runtime credential을 Git 추적 상태로 유지하려 함
검증 명령¶
gitlab-ctl status
gitlab-rake gitlab:check
curl -I https://gitlab.example.com
ssh -T git@gitlab.example.com -p <git-ssh-port>
firewall-cmd --list-all
ss -lntup | grep -E ':(80|443|22|2222)\b'
systemctl list-timers | grep release-poll
journalctl -u release-poll.<service>.service -n 100 --no-pager
상세 문서¶
Core:
- 개요
- Architecture
- 사전 준비 및 점검
- 데이터 경로 준비 및 Bind Mount
- 네트워크 정책
- 설치
- 설정 gitlab.rb
- SELinux and Firewall
- Nginx Reverse Proxy
- 초기 관리자 설정
Policy and Project:
- Generic Package Registry
- AIStor Release Storage 설치 및 구성
- 프로젝트 구조
- 권한 Role
- Group 생성 및 권한
- Project 초기 설정
- 브랜치 전략
- 접근 제어
- AIStor Release Storage Project 설정
- Deploy Policy
CI/CD and Ops:
- Runner
- CI/CD Standard
- Release Metadata Spec
- Ops Server Bootstrap
- Ops Server Bootstrap Runbook
- Ops Server Poll-Release
- Ops Server Poll-Release Runbook
- Repository Restore
Local examples and assets:
../docs/07-gitlab/projects/../docs/07-gitlab/gitlab-ssh.xml../docs/07-gitlab/gitlab-web-service.xml../docs/07-gitlab/99-gitlab-group-permission-automation