DSc T2Editor Developers
DocumentationOperations
Operations

런타임 업데이트와 롤백 모델

ABI 2의 불변 래퍼, release 포인터, 캐시 세대와 실패 복구를 설명합니다.

런타임 업데이트와 롤백 모델

불변 래퍼와 선택 런타임

editor.lib.php와 공개 엔드포인트 래퍼는 설치 URL을 안정적으로 유지한다. runtime.php 포인터가 실제 editor.core.php, .core.php 엔드포인트와 자산 URL을 선택한다. runtime 파일이 없거나 symlink이면 base 구현으로 폴백한다.

release 전환

업데이트는 새 release를 준비하고 요구 파일·서명을 검증한 뒤 runtime pointer를 바꾼다. 포인터에는 현재와 이전 release 정보가 있어 실패 시 되돌릴 수 있다. pending 상태에서 요청이 정상 종료되지 않으면 shutdown guard가 실패 횟수를 기록하고 안전한 이전 runtime 또는 base로 복구한다.

runtime index와 locale generation

release 슬롯에서는 설치 레지스트리, Extend, 플러그인, 자산과 locale 루트를 runtime index에 묶는다. index는 ABI, release ID, 경로, asset URL과 감시 파일 signature가 모두 맞을 때만 유효하다. locale cache도 같은 release ID와 generation을 가져야 한다.

base 모드는 로컬 수동 변경을 즉시 반영하기 위해 동적 스캔을 유지한다. 따라서 base와 slot 모드의 캐시 동작을 같다고 가정하지 않는다.

롤백 뒤 점검

  1. 현재 runtime path와 asset URL이 같은 release를 가리키는지 확인한다.
  2. runtime index와 locale cache를 재생성한다.
  3. 관리자 로그인, 기본 편집, 모든 활성 플러그인, 업로드와 재편집을 시험한다.
  4. 새 release에서 생성한 문서 구조가 이전 플러그인에서도 손실 없이 보이는지 확인한다.
기술 기준

T2Editor 10.4.0을 기반으로 작성되었으며, 동일한 구조와 계약을 유지하는 이후 버전에도 적용됩니다.

T2Editor 홈으로