개요
CaseBender는 버전이 지정된 컨테이너 이미지 세트로 제공됩니다. 업그레이드는 최신 이미지를 가져와 컨테이너를 다시 만드는 것을 의미합니다. 데이터, 라이선스, 구성은 이름이 지정된 Docker 볼륨 과.env 파일 에 저장되며, 둘 다 업그레이드 시
보존됩니다. 따라서 이를 유지하는 한 업그레이드가 케이스, 사용자, 자격 증명, 라이선스를
건드리는 일은 없습니다.
데이터베이스 마이그레이션과 기본 데이터 시딩은 업그레이드 후 시작 시 자동으로
실행됩니다. 마이그레이션 명령을 수동으로 실행할 필요가 없습니다.
업그레이드 시 보존되는 항목
업그레이드 절차 (Docker Compose)
1
데이터베이스와 .env 백업
2
최신 이미지 가져오기
3
컨테이너 다시 생성
4
로그 확인
업그레이드 후 확인
- 로그인하여 기존 케이스, 알림, 사용자가 있는지 확인합니다.
- 로그인이 여전히 작동하는지 확인합니다(관리자 비밀번호는 변경되지 않습니다).
- worker가 작업을 처리하고 있는지 확인합니다.
롤백
문제가 발생하면 이전 이미지 태그를 고정하고 백업을 복원하세요.항상 스테이징 환경을 먼저 업그레이드하고, 프로덕션 업그레이드 직전에 최신
데이터베이스 백업을 수행하세요.
흔한 업그레이드 실수
가장 흔한 두 가지 문제는 모두 상태 손실에서 비롯됩니다.- Compose 프로젝트 이름 또는 디렉터리 변경. Docker는 프로젝트에서 볼륨 이름을
파생합니다. 폴더 이름을 바꾸거나 다른
-p프로젝트 이름을 사용하면 Compose가 새로운 빈 볼륨을 가리키게 됩니다. 기존 볼륨을 재사용하려면 항상 동일한 디렉터리/프로젝트에서 업그레이드하세요. LICENSE_SECRET_KEY누락 및casebender_secret볼륨 없음. 영구 시크릿 볼륨이 없는 이전 배포에서는 라이선스가 유지되도록.env에LICENSE_SECRET_KEY를 설정하세요(또는 볼륨 추가). 현재 배포는 자동으로 보존합니다.
데스크톱 설치 프로그램
데스크톱 설치 프로그램으로 배포한 경우, 앱에 내장된 업데이트 흐름을 사용하세요 — 데이터 디렉터리,.env, 라이선스 키를 보존하면서 최신 이미지를 가져와 서비스를 다시
만듭니다.
Google Cloud Run
Cloud Run 업그레이드는 새 리비전을 배포합니다. Cloud Run은 파일 시스템이 휘발성(ephemeral)이므로 라이선스 시크릿은 리비전 간에 유지되도록 Secret Manager를 통해LICENSE_SECRET_KEY로 제공해야 합니다. 기존 Cloud SQL 인스턴스와 시크릿을
사용하여 다시 배포하세요.