피드로 돌아가기
Dev.toDevOps
원문 읽기
GitHub Release 기반 Artifact 관리로 Rollback 리스크 제거 및 배포 효율화
Streamlining Deployment: How GitHub Releases Elevate Your Engineering KPIs and Development OKRs
AI 요약
Context
레거시 Visual Studio Publish 기반의 수동 배포 방식으로 인해 서버 내 익명 폴더가 30~100개 생성되는 관리 부채 발생. 버전 식별 불가능한 디렉토리 구조로 인해 장애 발생 시 Rollback 소요 시간이 증가하며 배포 안정성이 저해되는 한계 노출.
Technical Solution
- Release와 Deployment의 관심사 분리를 통한 파이프라인 구조 재설계
- GitHub Release를 단순 문서화 도구가 아닌 Immutable Artifact 저장소로 정의하여 버전 관리 일원화
- softprops/action-gh-release를 활용해 Git Tag 생성과 동시에 컴파일된 빌드 결과물을 GitHub Ecosystem 내에 저장하는 메커니즘 구축
- 서버 파일 시스템의 직접 수정 대신, 검증된 Artifact를 다운로드하여 배포하는 Pull-based 접근 방식 채택
- Workflow 내 permissions: contents: write 설정을 통한 자동화된 Tagging 및 Asset 업로드 권한 제어
- Build $\rightarrow$ Release $\rightarrow$ Deploy로 이어지는 순차적 단계 구성을 통한 배포 가시성 확보
실천 포인트
- GitHub Action 사용 시 softprops/action-gh-release의 files 입력값으로 빌드 아티팩트(zip 등) 연결 여부 확인 - 릴리스 생성 권한을 위해 Workflow YAML 내 contents: write 권한 설정 여부 검토 - 서버 내 수동 백업 폴더 생성 관행을 제거하고 GitHub Release Artifact 기반의 Rollback 절차 수립