Release Management
릴리스 관리 (Release Management) 는 소프트웨어 개발 프로세스에서 코드 변경사항을 개발 환경에서 프로덕션 환경으로 안전하고 체계적으로 배포하는 전체 과정을 관리하는 방법론이다. 이는 버전 관리 시스템과 긴밀하게 연계되어 코드 변경사항의 추적, 버전 관리, 배포 프로세스 자동화 등을 포함한다. 효과적인 릴리스 관리는 소프트웨어의 품질 보장, 배포 위험 최소화, 사용자 경험 향상, 개발 팀의 생산성 증대에 기여한다.
2025 년 현재 DevOps 및 CI/CD 도구와의 통합을 통해 지속적 배포 자동화가 강화되고 있으며, AI 기반 위험 관리 및 클라우드 네이티브 아키텍처 지원이 주목받고 있다.
핵심 개념
릴리스 관리 (Release Management) 는 소프트웨어 변경사항을 계획, 일정 수립, 테스트, 배포하는 전체 프로세스를 관리하는 체계적인 접근법이다. 버전 관리 시스템 내에서 릴리스 관리는 특정 코드 버전을 식별하고 추적하며, 이를 다양한 환경 (개발, 테스트, 프로덕션) 에 체계적으로 배포하는 과정을 포함한다.
목적
릴리스 관리의 주요 목적은 다음과 같다:
- 소프트웨어 품질 보장: 테스트와 검증을 통한 안정적인 릴리스
- 배포 위험 최소화: 체계적인 프로세스로 배포 실패 가능성 감소
- 버전 추적 및 관리: 모든 배포 버전의 명확한 식별과 관리
- 변경사항 커뮤니케이션: 이해관계자에게 변경 내용 투명하게 전달
- 롤백 메커니즘: 문제 발생 시 이전 상태로 빠르게 복구
필요성
릴리스 관리의 필요성은 다음과 같은 소프트웨어 개발 과정의 문제점을 해결한다:
- 복잡한 소프트웨어 시스템의 배포 위험 관리
- 빈번한 릴리스에 따른 버전 관리 복잡성 해소
- 여러 환경 (개발, 테스트, 프로덕션) 에 걸친 일관된 배포 보장
- 릴리스 이력과 변경사항의 명확한 추적 및 문서화
- 개발 팀과 운영 팀 간의 협업 효율화
주요 기능
릴리스 관리의 주요 기능은 다음과 같다:
- 버전 식별 및 태깅: 특정 코드 버전을 식별하고 태그 부여
- 릴리스 계획: 일정, 범위, 담당자 등의 계획 수립
- 배포 자동화: 일관되고 반복 가능한 배포 프로세스 자동화
- 환경 관리: 다양한 환경 간 배포 관리
- 변경 로그 관리: 각 릴리스의 변경사항 추적 및 문서화
- 롤백 메커니즘: 문제 발생 시 이전 상태로 복원
- 승인 워크플로우: 배포 전 필요한 승인 절차 관리
특징
릴리스 관리의 특징은 다음과 같다:
- 체계적인 프로세스: 계획부터 배포까지 체계화된 단계별 접근
- 버전 관리 통합: 버전 관리 시스템과의 긴밀한 연계
- 자동화 중심: 반복적인 배포 과정의 자동화 강조
- 추적 가능성: 변경사항의 투명한 추적 및 문서화
- 환경 독립성: 여러 환경에 일관된 배포 가능
- 품질 중심: 테스트와 검증을 통한 품질 보장
- 협업 지향: 개발, QA, 운영 팀 간의 원활한 협업 지원
핵심 원칙
릴리스 관리의 핵심 원칙은 다음과 같다:
- 반복성 (Repeatability): 동일한 프로세스로 일관된 결과 도출
- 자동화 (Automation): 수동 작업 최소화를 통한 오류 감소
- 투명성 (Transparency): 변경사항과 프로세스의 명확한 가시성
- 추적성 (Traceability): 모든 변경의 출처와 사유 추적
- 분리 (Separation of Concerns): 개발, 테스트, 배포 단계의 명확한 분리
- 점진적 개선 (Incremental Improvement): 작은 단위의 변경으로 위험 최소화
- 롤백 준비 (Rollback Readiness): 항상 이전 상태로 돌아갈 수 있는 메커니즘 유지
구성 요소 및 아키텍처
릴리스 관리 시스템의 주요 구성 요소의 기능과 역할은 다음과 같다:
- 버전 관리 시스템: 코드 변경사항을 추적하고 여러 개발자의 작업을 조율하며, 릴리스를 위한 코드 베이스의 특정 스냅샷을 제공한다.
- 릴리스 브랜치: 배포를 위한 안정적인 코드 기반을 제공하고, 현재 개발 중인 기능과 릴리스 준비 중인 기능을 분리한다.
- 태그: 특정 릴리스 버전을 명확하게 식별하고, 나중에 해당 버전으로 쉽게 접근할 수 있게 한다.
- CI/CD 파이프라인: 코드 변경부터 배포까지의 전체 과정을 자동화하여 일관성과 신뢰성을 제공한다.
- 아티팩트 저장소: 빌드된 소프트웨어 패키지를 저장하고 버전을 관리하며, 다양한 환경에 일관된 아티팩트 배포를 보장한다.
- 환경 구성: 개발, 테스트, 스테이징, 프로덕션 등 다양한 환경에 맞는 설정을 관리한다.
- 릴리스 노트: 사용자와 이해관계자에게 변경사항을 투명하게 커뮤니케이션하고, 기능과 버그 수정 내용을 문서화한다.
- 승인 워크플로우: 중요한 환경 (예: 프로덕션) 에 배포하기 전 필요한 검토와 승인을 관리한다.
- 모니터링 시스템: 배포 후 시스템 성능과 상태를 모니터링하여 문제를 조기에 감지한다.
주요 원리
릴리스 관리의 주요 원리는 " 지속적 통합과 배포 (CI/CD)" 모델에 기반한다.
이는 다음과 같은 단계로 구성된다:
- 계획 (Plan): 릴리스 범위와 일정 계획
- 개발 (Develop): 코드 변경 및 버전 관리
- 빌드 (Build): 코드 통합 및 빌드 자동화
- 테스트 (Test): 자동화된 테스트 및 품질 검증
- 릴리스 (Release): 버전 태깅 및 릴리스 노트 생성
- 배포 (Deploy): 다양한 환경에 배포
- 모니터링 (Monitor): 배포 후 모니터링 및 피드백 수집
워크플로우
- 개발자가 특정 기능이나 버그 수정을 완료하고 코드 저장소에 커밋
- CI/CD 파이프라인이 트리거되어 자동 빌드 및 테스트 실행
- 테스트 통과 시 특정 버전으로 태그 지정 (e.g., v1.2.3)
- 릴리스 브랜치 생성 또는 기존 릴리스 브랜치에 병합
- 릴리스 노트 및 변경 로그 생성
- 스테이징 환경에 배포하여 추가 테스트 진행
- 최종 승인 후 프로덕션 환경에 배포
- 배포 후 모니터링 및 피드백 수집
- 필요시 롤백 또는 핫픽스 배포
장점과 단점
구분 | 항목 | 설명 |
---|---|---|
✅ 장점 | 안정성 향상 | 체계적인 테스트와 검증을 통한 소프트웨어 품질 보장 |
배포 위험 감소 | 자동화된 프로세스와 롤백 메커니즘으로 배포 실패 위험 최소화 | |
투명성 증대 | 변경사항의 명확한 추적과 커뮤니케이션으로 모든 팀원의 이해도 향상 | |
개발 속도 향상 | 자동화된 릴리스 프로세스로 개발 팀의 효율성 증가 | |
일관성 보장 | 모든 환경에 동일한 프로세스로 배포하여 환경 간 불일치 감소 | |
⚠ 단점 | 초기 설정 복잡성 | 효과적인 릴리스 파이프라인 구축을 위한 초기 투자와 학습 곡선 |
오버헤드 발생 | 작은 팀이나 프로젝트에서는 과도한 프로세스로 인한 부담 가능성 | |
도구 의존성 | 자동화 도구에 대한 의존도가 높아 도구 장애 시 영향 심각 | |
유연성 감소 | 엄격한 프로세스로 인해 긴급 상황에서의 빠른 대응이 어려울 수 있음 | |
문화적 저항 | 기존 개발 문화에서 새로운 릴리스 방식으로의 전환에 대한 저항 가능성 |
실무 예시
산업/조직 | 적용 사례 | 주요 이점 |
---|---|---|
웹 서비스 | GitHub Flow 기반 지속적 배포 | 빠른 기능 출시 및 피드백 반영 |
엔터프라이즈 SW | GitFlow 기반 계획된 분기별 릴리스 | 안정성과 예측 가능성 향상 |
모바일 앱 | 앱스토어 승인 프로세스와 통합된 릴리스 관리 | 배포 지연 최소화 및 사용자 경험 향상 |
금융 서비스 | 엄격한 규제 준수를 위한 다단계 승인 프로세스 | 컴플라이언스 보장 및 위험 관리 |
E- 커머스 | 피크 시즌을 고려한 릴리스 일정 관리 | 비즈니스 중단 위험 최소화 |
게임 개발 | 베타 테스트와 통합된 점진적 릴리스 전략 | 사용자 피드백 기반 품질 개선 |
오픈소스 프로젝트 | 커뮤니티 기반 릴리스 관리 및 버전 관리 | 광범위한 기여자 참여와 투명성 확보 |
DevOps 조직 | 완전 자동화된 CI/CD 파이프라인 기반 릴리스 | 개발 - 운영 간 원활한 협업 및 빠른 배포 |
실무에서 효과적으로 적용하기 위한 고려사항 및 주의할 점
영역 | 고려사항 | 이유 |
---|---|---|
브랜칭 전략 | 프로젝트 특성에 맞는 브랜칭 모델 선택 | 개발 흐름과 릴리스 주기에 적합한 전략 필요 |
버전 관리 | 명확한 버전 번호 체계 도입 (Semantic Versioning) | 버전 의미 명확화 및 하위 호환성 관리 |
자동화 수준 | 최대한 많은 단계를 자동화 | 수동 작업 최소화로 오류 감소 및 일관성 확보 |
테스트 전략 | 다양한 테스트 레벨 구현 (단위, 통합, E2E) | 릴리스 품질 보장을 위한 포괄적 검증 |
롤백 계획 | 모든 배포에 롤백 메커니즘 준비 | 문제 발생 시 신속한 복구 보장 |
문서화 | 변경사항 및 릴리스 프로세스 문서화 | 지식 공유 및 프로세스 일관성 유지 |
환경 구성 | 프로덕션과 유사한 테스트 환경 구성 | 환경 차이로 인한 문제 조기 발견 |
보안 검증 | 릴리스 파이프라인에 보안 검사 통합 | 취약점 조기 발견 및 대응 |
의사소통 | 모든 이해관계자와의 명확한 커뮤니케이션 | 릴리스 영향 및 일정에 대한 이해 공유 |
모니터링 | 배포 전후 시스템 상태 모니터링 | 문제 조기 감지 및 영향 평가 |
최적화하기 위한 고려사항 및 주의할 점
영역 | 고려사항 | 이유 |
---|---|---|
파이프라인 속도 | 빌드 및 테스트 최적화 | 피드백 루프 단축 및 개발 효율성 향상 |
아티팩트 관리 | 효율적인 아티팩트 저장 및 버전 관리 | 배포 속도 향상 및 스토리지 최적화 |
병렬화 | 독립적인 단계 병렬 실행 | 전체 릴리스 파이프라인 시간 단축 |
캐싱 전략 | 빌드 종속성 및 중간 결과물 캐싱 | 반복적인 작업 최소화 및 속도 향상 |
테스트 범위 | 변경 영향에 집중된 테스트 실행 | 불필요한 테스트 감소로 검증 시간 단축 |
환경 프로비저닝 | 필요 시 자동 환경 프로비저닝 | 환경 준비 시간 단축 및 병목 현상 방지 |
피드백 최적화 | 중요 이슈 우선 보고 | 핵심 문제 조기 해결로 릴리스 지연 방지 |
배포 전략 | 트래픽 패턴에 맞는 배포 전략 선택 | 사용자 영향 최소화 및 시스템 부하 관리 |
리소스 할당 | 릴리스 파이프라인에 적절한 리소스 할당 | 병목 현상 방지 및 처리 속도 최적화 |
메트릭 추적 | 주요 릴리스 메트릭 측정 및 최적화 | 지속적인 프로세스 개선 및 성능 향상 |
Semantic Versioning 규칙
시맨틱 버저닝 (Semantic Versioning, SemVer) 은 소프트웨어 버전을 체계적으로 관리하는 방법론으로, 버전 번호에 특정 의미를 부여한다.
표준 형식은 MAJOR.MINOR.PATCH
로 구성된다:
- MAJOR: 하위 호환성을 깨는 변경사항
- MINOR: 하위 호환성을 유지하면서 기능 추가
- PATCH: 하위 호환성을 유지하는 버그 수정
추가적인 규칙:
- 정식 배포 전 버전:
1.0.0-alpha
,1.0.0-beta
,1.0.0-rc
- 빌드 메타데이터:
1.0.0+20130313144700
,1.0.0-beta+exp.shaf85
시맨틱 버저닝 적용의 이점:
- 버전 번호만으로 변경 범위와 호환성 파악 가능
- 의존성 관리 시스템의 효율적인 작동 지원
- 사용자와 개발자 간 명확한 기대치 설정
- 배포 자동화 시스템과의 원활한 통합
예시적인 버전 증가 결정:
- API 변경으로 기존 코드가 작동하지 않음: MAJOR 증가
- 새로운 기능 추가, 기존 기능 유지: MINOR 증가
- 기존 기능의 버그 수정: PATCH 증가
실무에서는 package.json
, pom.xml
등의 프로젝트 메타데이터 파일에 버전 정보를 관리하고, 자동화 도구로 버전 증가를 처리하는 경우가 많다.
Release Note 자동 생성
릴리스 노트 자동 생성은 커밋 메시지, 이슈 트래커, PR 설명 등에서 정보를 추출하여 체계적인 릴리스 문서를 자동으로 생성하는 기술이다.
주요 자동화 도구 및 방법:
- conventional-changelog: 컨벤셔널 커밋 메시지 기반 릴리스 노트 생성
- GitHub/GitLab Release Notes 자동화: 태그 생성 시 자동으로 릴리스 노트 초안 생성
- semantic-release: 커밋 분석 기반 자동 버전 관리 및 릴리스 노트 생성
- Jira 통합 도구: Jira 이슈와 연계된 릴리스 노트 자동 생성
- Release Drafter: GitHub 액션 기반 릴리스 노트 자동화
효과적인 자동 릴리스 노트를 위한 요소:
- 일관된 커밋 메시지 컨벤션: ‘feat:’, ‘fix:’, ‘docs:’ 등의 접두어 사용
- 이슈 참조: 커밋 메시지에 이슈 번호 포함 (#123)
- 라벨 시스템: PR 이나 이슈에 ’ 기능 ‘, ’ 버그수정 ‘, ’ 문서 ’ 등의 라벨 부여
- 템플릿 커스터마이징: 조직 필요에 맞는 릴리스 노트 템플릿 구성
- 카테고리화: 변경사항을 기능, 버그 수정, 성능 개선 등으로 분류
예시 자동화 설정 (semantic-release 사용):
자동 생성된 릴리스 노트는 일반적으로 최종 검토와 편집 과정을 거쳐 발행된다.
태그 기반 롤백 전략
태그 기반 롤백 전략은 문제가 발생했을 때 이전에 안정적인 버전으로 신속하게 되돌릴 수 있는 메커니즘을 제공한다.
주요 구성 요소:
- 버전 태그: 각 릴리스마다 고유한 Git 태그 부여 (v1.2.3)
- 불변 아티팩트: 각 태그에 해당하는 불변의 빌드 아티팩트 저장
- 롤백 자동화: 이전 태그로 롤백하는 자동화된 프로세스
- 환경 설정 관리: 각 버전에 맞는 환경 설정 관리
롤백 시나리오 유형:
- 즉시 롤백: 배포 직후 문제 발견 시 바로 이전 버전으로 복귀
- 선택적 롤백: 특정 안정 버전으로 선택적 복귀
- 부분 롤백: 시스템 일부만 롤백하고 나머지는 유지
- 데이터 마이그레이션 고려: 스키마 변경이 있는 경우 데이터 롤백 전략 포함
효과적인 태그 기반 롤백을 위한 고려사항:
- 신속한 감지: 배포 후 문제를 빠르게 감지하는 모니터링 시스템
- 단일 명령 롤백: 복잡한 단계 없이 단일 명령으로 롤백 가능
- 롤백 테스트: 정기적인 롤백 절차 테스트 및 검증
- 롤백 문서화: 각 버전마다 롤백 절차 문서화
- 의존성 관리: 외부 의존성 변경 시 롤백 전략 고려
롤백 자동화 예시 (Docker 기반 시스템):
|
|
태그 기반 롤백은 데이터베이스 스키마 변경이나 API 호환성 이슈가 있는 경우 추가적인 복잡성이 발생하므로, 이를 고려한 마이그레이션 및 롤백 전략이 필요하다.
최신 동향
주제 | 항목 | 설명 |
---|---|---|
자동화 | 완전 자동화된 릴리스 파이프라인 | 코드 커밋부터 프로덕션 배포까지 인간 개입 없이 자동화된 릴리스 프로세스가 표준화되었습니다. |
AI 통합 | AI 기반 릴리스 최적화 | 머신러닝 모델이 배포 패턴과 시스템 영향을 분석하여 최적의 릴리스 타이밍과 전략을 제안합니다. |
보안 | 공급망 보안 통합 | 소프트웨어 공급망 보안 (SBOM, 취약점 스캔) 이 릴리스 파이프라인에 필수적으로 통합되었습니다. |
관측성 | 실시간 배포 영향 분석 | 배포 즉시 사용자 경험, 시스템 성능, 비즈니스 지표에 미치는 영향을 실시간으로 측정합니다. |
협업 | 크로스 펑셔널 릴리스 플랫폼 | 개발, 운영, 보안, 비즈니스 팀이 하나의 통합 플랫폼에서 릴리스 과정을 관리합니다. |
환경 관리 | 환경 임시 제공 (Ephemeral Environments) | 각 피처나 PR 에 대해 자동으로 임시 환경을 생성하고 테스트 후 폐기하는 방식이 일반화되었습니다. |
복원력 | 자가 복구 배포 | 문제 감지 시 자동으로 롤백하거나 복구 조치를 수행하는 지능형 배포 시스템이 도입되었습니다. |
규정 준수 | 규정 준수 자동화 | 금융, 의료 등 규제 산업에서 컴플라이언스 검증이 릴리스 파이프라인에 자동으로 통합됩니다. |
주목해야 할 기술
주제 | 항목 | 설명 |
---|---|---|
GitOps | 선언적 릴리스 관리 | Git 저장소를 단일 진실 소스로 사용하여 인프라 및 애플리케이션 배포를 선언적으로 관리하는 방식 |
카오스 엔지니어링 | 릴리스 복원력 테스트 | 릴리스 과정에 의도적인 장애 주입으로 시스템 복원력을 테스트하고 강화하는 접근법 |
특성 플래그 (Feature Flags) | 런타임 기능 전환 | 코드 배포와 기능 활성화를 분리하여 안전하게 새 기능을 점진적으로 출시하는 기술 |
서비스 메시 | 마이크로서비스 릴리스 제어 | 마이크로서비스 환경에서 트래픽 라우팅, 보안, 관측성을 제공하는 인프라 계층 |
FinOps | 릴리스 비용 최적화 | 릴리스 과정의 클라우드 자원 사용을 최적화하여 비용 효율성을 높이는 방법론 |
AI 기반 테스팅 | 지능형 테스트 자동화 | AI 가 코드 변경을 분석하여 필요한 테스트를 자동 생성하고 실행하는 시스템 |
시큐어 스코어카드 | 릴리스 보안 평가 | 각 릴리스의 보안 상태를 점수화하여 가시적으로 보여주는 평가 시스템 |
가치 스트림 관리 | 릴리스 비즈니스 영향 추적 | 아이디어부터 릴리스, 비즈니스 가치 실현까지 전체 흐름을 가시화하고 최적화하는 도구 |
앞으로의 전망
주제 | 항목 | 설명 |
---|---|---|
자동화 확대 | 릴리스 프로세스 자동화 | 반복적인 작업을 자동화하여 개발 효율성을 높입니다. |
표준화 강화 | 커밋 메시지 및 버전 관리 표준화 | 일관된 규칙을 통해 협업 효율성을 향상시킵니다. |
도구 통합 | 다양한 도구 간의 통합 강화 | CI/CD, 버전 관리, 릴리스 노트 생성 도구 간의 통합을 통해 전체 프로세스를 최적화합니다. |
멀티 클라우드 | 클라우드 독립적 릴리스 | 여러 클라우드 제공업체에 일관되게 배포할 수 있는 클라우드 독립적 릴리스 도구가 발전할 것입니다. |
규제 통합 | 컴플라이언스 기본 내장 | 규제 요구사항이 릴리스 파이프라인에 기본적으로 내장되어 자동 검증될 것입니다. |
추가 학습할 내용
카테고리 | 주제 | 설명 |
---|---|---|
브랜칭 전략 | GitFlow, GitHub Flow, Trunk-Based Development | 다양한 브랜칭 모델과 각 모델이 릴리스 관리에 미치는 영향 |
CI/CD 파이프라인 | Jenkins, GitHub Actions, GitLab CI/CD | 릴리스 자동화를 위한 CI/CD 도구 및 구성 방법 |
배포 전략 | 블루 - 그린, 카나리, 롤링 배포 | 다양한 배포 전략의 구현 방법과 적용 사례 |
릴리스 자동화 | semantic-release | 릴리스 프로세스를 자동화하여 효율성을 높입니다. |
환경 관리 | 환경 구성, 인프라 코드화 (IaC) | 다양한 릴리스 환경의 일관된 관리와 자동화 방법 |
관측성 | 모니터링, 로깅, 추적 | 릴리스 결과 모니터링 및 문제 감지 시스템 구축 |
컨테이너화 | Docker, Kubernetes | 컨테이너 기반 릴리스 관리 및 오케스트레이션 |
피처 플래그 | 구현 및 관리 전략 | 코드 배포와 기능 출시를 분리하는 피처 플래그 활용법 |
보안 통합 | DevSecOps 구현 | 릴리스 파이프라인에 보안 검증 통합 방법 |
관련 분야 추가 학습 내용
카테고리 | 주제 | 설명 |
---|---|---|
프로젝트 관리 | 애자일, 스크럼, 칸반 | 릴리스 관리와 애자일 개발 방법론의 통합 |
품질 보증 | 테스트 자동화, 품질 게이트 | 릴리스 품질 보장을 위한 테스트 전략 및 도구 |
커뮤니케이션 | 릴리스 커뮤니케이션 전략 | 이해관계자에게 릴리스 정보를 효과적으로 전달하는 방법 |
데이터 관리 | 데이터베이스 마이그레이션 | 스키마 변경이 포함된 릴리스의 데이터 마이그레이션 전략 |
클라우드 네이티브 | 클라우드 네이티브 아키텍처 | 클라우드 환경에 최적화된 릴리스 아키텍처 설계 |
조직 문화 | DevOps 문화 구축 | 효과적인 릴리스 관리를 위한 조직 문화 변화 |
복원력 엔지니어링 | 시스템 복원력 설계 | 장애에 강한 시스템 설계 및 릴리스 전략 |
성능 엔지니어링 | 성능 테스트, 최적화 | 릴리스가 시스템 성능에 미치는 영향 분석 및 최적화 |
용어 정리
용어 | 설명 |
---|---|
Semantic Versioning | 버전 번호를 MAJOR.MINOR.PATCH 형식으로 관리하여 변경의 성격을 명확히 하는 버전 관리 방식입니다. |
Git Tag | 특정 커밋에 버전 레이블을 부여하여 릴리스 시점을 명확히 하는 Git 기능입니다. |
semantic-release | 커밋 메시지를 기반으로 버전 관리 및 릴리스 노트 생성을 자동화하는 도구입니다. |
Conventional Commits | 일관된 커밋 메시지 형식을 통해 변경 사항을 명확히 하는 규칙입니다. |
릴리스 브랜치 (Release Branch) | 릴리스를 위해 생성된 코드의 안정적인 분기 |
태그 (Tag) | 특정 버전을 식별하기 위해 커밋에 부여하는 표시 |
롤백 (Rollback) | 문제 발생 시 이전 버전으로 되돌리는 작업 |
아티팩트 (Artifact) | 빌드 과정에서 생성되는 실행 가능한 소프트웨어 패키지 |
피처 플래그 (Feature Flag) | 코드 배포와 기능 활성화를 분리하는 스위치 기능 |
블루 - 그린 배포 (Blue-Green Deployment) | 두 개의 동일한 환경을 번갈아 사용하는 배포 방식 |
카나리 배포 (Canary Deployment) | 일부 사용자에게만 새 버전을 배포하는 점진적 방식 |
CI/CD(Continuous Integration/Continuous Delivery) | 지속적 통합 및 지속적 배포 자동화 파이프라인 |
환경 (Environment) | 개발, 테스트, 스테이징, 프로덕션 등 코드가 실행되는 독립된 공간 |
참고 및 출처
- Semantic Versioning 공식 사이트
- semantic-release GitHub 저장소
- GitHub Docs: 릴리스 관리
- 릴리스 관리 프로세스
- Agile 릴리스 관리
- Semantic Versioning 규칙
- GitFlow 워크플로우
- GitHub 릴리스 관리 가이드
- GitLab 릴리스 관리 문서
- Martin Fowler의 지속적 배포 설명
- Azure DevOps 릴리스 관리 개념
- 릴리스 관리 모범 사례