애플리케이션 배포 및 릴리스 시작하기

애플리케이션 미리보기로 시작하여 사용자 앞에서의 프로덕션 배포로 종료합니다. 컨테이너 및 패키지를 관리하고, 지속적 통합을 사용하여 애플리케이션을 제공하며, 피처 플래그 및 점진적 배포를 통해 제어된 방식으로 애플리케이션을 릴리스합니다.

이러한 과정은 더 큰 워크플로우의 일부입니다:

Workflow

단계 1: 프로젝트 아티팩트 저장 및 액세스

패키지 및 레지스트리를 사용하여 프로젝트의 의존성, 라이브러리 및 기타 아티팩트를 안전하게 저장하고 배포하세요. 패키지 레지스트리는 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 파이프라인을 튜닝할 수 있습니다.

자세한 내용은 다음을 참조하세요: