- 1단계: 프로젝트의 아티팩트를 저장하고 액세스하기
- 2단계: 애플리케이션을 여러 환경에 배포하기
- 3단계: 지속적인 배달 기능으로 규정 준수 유지하기
- 4단계: 배포 아티팩트를 공개 사용자 또는 내부 사용자에게 전송
- 5단계: 변경 사항을 안전하게 롤아웃
- 6단계: 정적 웹사이트 배포
- 7단계: Auto Deploy로 의견을 반영하세요
애플리케이션 배포 및 릴리스를 시작하세요
애플리케이션을 미리 보기 시작하여, 최종 사용자에게 프로덕션에 배포하는 것으로 마무리합니다. 컨테이너 및 패키지를 관리하고, 지속적인 통합을 통해 애플리케이션을 제공하며, 기능 플래그와 점진적 롤아웃을 사용하여 애플리케이션을 통제된 방식으로 릴리스합니다.
이 프로세스는 더 큰 워크플로우의 일부입니다:
1단계: 프로젝트의 아티팩트를 저장하고 액세스하기
패키지 및 레지스트리를 사용하여 GitLab에서 프로젝트의 종속성, 라이브러리 및 기타 아티팩트를 안전하게 저장하고 배포합니다.
패키지 레지스트리는 Maven, NPM, NuGet, PyPI 및 Conan을 포함한 다양한 패키지 형식을 지원합니다. 프로젝트 전반에 걸쳐 패키지를 저장하고 배포할 수 있는 중앙 집중식 위치를 제공합니다. 패키지 레지스트리를 GitLab CI/CD 파이프라인과 통합하여 패키지 게시를 자동화하고 원활한 개발 및 배포 워크플로우를 보장합니다.
컨테이너 레지스트리는 Docker 이미지를 위한 개인 레지스트리로 작동합니다. 이를 사용하여 조직 내에서 또는 공공으로 Docker 및 OCI 이미지를 저장, 관리 및 배포합니다. GitLab CI/CD와 통합하여 컨테이너화된 애플리케이션을 빌드, 테스트 및 배포할 수 있습니다.
자세한 내용은 다음을 참조하세요:
2단계: 애플리케이션을 여러 환경에 배포하기
환경을 사용하여 애플리케이션의 배포를 다양한 단계(예: 개발, 스테이징 및 프로덕션)에서 관리하고 추적합니다. 각 환경은 고유한 구성, 변수 및 배포 설정을 가질 수 있습니다.
환경을 설정한 후에는 모니터링할 수 있습니다. 배포한 위치(예: AWS)에서 주로 배포를 모니터링하지만, GitLab은 대시보드도 제공합니다.
Kubernetes에 배포하는 경우 GitLab UI에서 실시간 클러스터 상태를 모니터링할 수 있습니다.
또한 병합 요청의 일환으로 임시 환경을 생성할 수 있습니다. 팀원들은 이러한 변경 사항을 주 브랜치에 커밋하기 전에 검토하고 테스트할 수 있습니다. 이러한 임시 환경을 리뷰 앱이라고 합니다.
자세한 내용은 다음을 참조하세요:
3단계: 지속적인 배달 기능으로 규정 준수 유지하기
우발적이거나 승인되지 않은 배포를 방지하여 프로덕션 시스템의 안정성과 무결성을 유지하려면 보호된 환경을 사용하세요. 이들은 프로덕션과 같은 중요한 환경에 대한 배포를 안전하게 제어하는 방법을 제공합니다.
보호된 환경을 정의하여 특정 사용자 또는 역할에 대한 액세스를 제한함으로써, 권한이 있는 사람만 변경 사항을 배포할 수 있도록 합니다.
배포 안전성은 지속적인 배달 파이프라인의 일부이며, 배포의 신뢰성과 보안을 보장하는 데 도움이 됩니다. GitLab은 배포 실패 시 자동 롤백과 같은 내장 안전 메커니즘과 사용자 지정 건강 검사를 정의하여 배포 성공 여부를 확인하는 기능을 제공합니다.
배포 승인은 배포 프로세스에 추가적인 제어 및 협업 레이어를 추가합니다. 지정된 승인자가 배포를 검토하고 승인해야 하는 승인 규칙을 정의할 수 있습니다. 승인은 환경, 브랜치 또는 특정 배포되는 변경 사항과 같은 다양한 기준에 따라 설정할 수 있습니다.
자세한 내용은 다음을 참조하세요:
4단계: 배포 아티팩트를 공개 사용자 또는 내부 사용자에게 전송
릴리스를 사용하여 최종 사용자에게 애플리케이션을 패키징하고 배포합니다.
릴리스 노트, 이진 자산 및 기타 관련 정보를 포함합니다.
브랜치에서 릴리스를 생성할 수 있습니다.
환경과 릴리스를 통합하여 특정 환경(예: 프로덕션)에 배포할 때마다 릴리스를 자동으로 생성합니다.
릴리스가 발생할 때마다 알림을 받을 수 있으며,
누가 릴리스를 생성, 업데이트 및 삭제할 수 있는지 제어하기 위해 권한을 지정할 수 있습니다.
자세한 내용은 다음을 참조하세요:
5단계: 변경 사항을 안전하게 롤아웃
사용자 또는 서버의 하위 집합에 애플리케이션을 점진적으로 배포하려면 점증적 롤아웃을 사용합니다.
전체 사용자 기반에 배포하기 전에 더 작은 규모에서 영향을 모니터링하고 평가할 수 있습니다.
GitLab의 기능 플래그는 전체 배포 없이 애플리케이션의 특정 기능을 활성화하거나 비활성화하는 방법을 제공합니다.
기능 플래그를 사용하여 새 기능을 안전하게 테스트하고, A/B 테스트를 수행하거나,
변경 사항을 점진적으로 사용자에게 소개할 수 있습니다.
기능 플래그를 사용하면 코드 배포와 기능 릴리스를 분리할 수 있어
사용자 경험에 대한 제어력을 높이고 버그나 예기치 않은 동작이 발생할 위험을 줄일 수 있습니다.
자세한 내용은 다음을 참조하세요:
6단계: 정적 웹사이트 배포
GitLab Pages를 사용하면 프로젝트의 문서, 데모 또는 마케팅 페이지를 선보일 수 있습니다.
GitLab의 리포지토리에서 직접 정적 웹사이트를 생성합니다. GitLab Pages는
Jekyll, Hugo 및 Middleman과 같은 정적 사이트 생성기와 일반 HTML,
CSS 및 JavaScript를 지원합니다. 시작하려면 새 프로젝트를 생성하거나 기존 프로젝트를 사용하고,
GitLab Pages 설정을 구성한 후 콘텐츠를 리포지토리에 푸시합니다.
GitLab은 지정된 브랜치에 변경 사항을 푸시할 때마다 웹사이트를 자동으로 빌드하고 배포합니다.
자세한 내용은 다음을 참조하세요:
7단계: Auto Deploy로 의견을 반영하세요
Auto Deploy는 귀하의 애플리케이션을 빌드하고 배포하는 등 여러 가지 작업을 처리하는 의견 있는 CI 템플릿입니다.
환경 변수를 사용하여 Auto DevOps 파이프라인을 세부 조정할 수 있습니다.
자세한 내용은 다음을 참조하세요: