Infrastructure/Linux

[Linux] 배포 버전 관리 방법

Potato_H 2024. 12. 17. 16:35
반응형

프로젝트를 하면서 ‘버전 관리’는 그냥 Git commit log를 정리하는 수준이라고 생각

 

하지만 실제로 서비스를 운영하고, 배포 환경을 다루고, 긴급 상황에서 이전 상태로 롤백하거나 특정 시점의 설정을 되살려야 했던 경험을 겪고 버전 관리의 중요성을 느낌

 

 

개발과 배포를 효율적으로 정리하기 위해 X.Y.Z 형식으로 세자리 버전 넘버링 방식 사용

 

각 숫자의 의미를 다음과 같이 정함

  • X : 서비스의 아키텍처 등이 크게 바뀌는 경우
  • Y : 기능이 새로 추가되거나 UI/UX가 바뀌는 경우
  • Z : 버그 수정, 오타 수정 등이 되는 경우

 

실제 배포 흐름 (v0.1.4)

 

1. 프론트엔드 빌드 - 빌드한 파일 압축 후 서버로 전송

2. DB 변경 - mongo compass로 컬렉션 import

3. 백엔드 배포 - 서버 pull

 

UI일부  기능(버튼)이 작동하지 않는 문제로 이전 버전의 모든 구성(프론트, 백, DB 등)을 zip으로 백업해뒀기 때문에 바로 롤백이 가능했음

 

또한 서버에 문제가 생길 경우를 대비해, 버전 X자리(아키텍처 및 환경)가 바뀔 때마다 Clonezilla를 이용하여 서버 디스크 자체를 이미지를 떠서 백업해놓음

반응형