피드로 돌아가기
Streamlining Deployment: How GitHub Releases Elevate Your Engineering KPIs and Development OKRs
Dev.toDev.to
DevOps

GitHub Release 기반 Artifact 관리로 Rollback 리스크 제거 및 배포 효율화

Streamlining Deployment: How GitHub Releases Elevate Your Engineering KPIs and Development OKRs

Oleg2026년 5월 14일7intermediate

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 절차 수립

원문 읽기