Files
triliumnext-korean-patch/docs/DEPLOYMENT-TESTS.ko.md
T

43 lines
3.7 KiB
Markdown

# 한국어 배포판 2.0.0 검증 기록
검사일: 2026-09-13. Linux x86_64 서버의 Docker Engine 29.7.2와 Compose 5.5.0에서 검사했습니다. ARM과 다른 Trilium 버전으로의 업그레이드는 검사 범위에 포함하지 않습니다.
운영 컨테이너와 분리된 Compose 프로젝트를 사용했습니다. 포트는 서버의 루프백 주소 19092와 19093만 사용했으며 테스트 전용 새 데이터 폴더에서 검사했습니다.
| 검사 | 결과 |
|---|---|
| 고정된 공식 이미지에서 Docker 빌드 | 통과 |
| 이미지 내부 492개 파일 SHA-256 검사 | 통과 |
| 서버 번들 JavaScript 구문 검사 | 통과 |
| 설치 스크립트로 새 컨테이너 생성 | 통과 |
| 새 문서 생성과 기본 예제 가져오기 | HTTP 204 |
| 한국어 PDF 내용 검사 | 지정한 SHA-256과 일치 |
| 도움말 노트 생성 | 181개 |
| 내부 노트 링크 검사 | 끊어진 링크 0개 |
| 동일 설치의 재실행과 자동 백업 | 통과 |
| 공식 0.95.0 이미지에서 한국어 이미지로 전환 | 통과 |
| 업데이트 전후 노트 상태 비교 | 동일 |
| 종료 코드 42로 실패하는 이미지 배포 시험 | 실패를 감지하고 이전 이미지로 복귀 |
| 백업을 새 폴더에 복원 | 노트 상태 동일 |
| 복원한 데이터로 별도 컨테이너 기동 | 통과 |
| 실제 HTTP의 편집기 및 문서 파일 8개 | 배포 파일과 해시 일치 |
| Swagger 문서 경로 2개 | 정상 표시 파일 제공 |
업데이트와 복구 과정에서 비교한 활성 노트는 417개입니다. 노트 ID와 제목 및 본문 blobId 목록의 SHA-256은 `3441f91b417ce62fff0b7a9c04d5b5e3262c284ff53edf3bffe92dc690c815ff`입니다.
한국어 PDF의 SHA-256은 `1141ea4fb9d619fd55d75d0bdcd6bbd5678b161633586764d0eadfc4b9235400`입니다. 신규 예제 압축 파일은 원본 노트 170개를 제목 경로로 대응시켜 만들었습니다. 148개 노트의 번역 수정과 통계 표시 및 속성 이름과 할 일 접두사 및 PDF를 포함합니다. 원본의 폴더 항목과 가져오기 순서도 보존했습니다.
일반 배포용 main.cjs의 SHA-256은 `d0dd274cc5ad926e8f9297bb0bd2ae806227dae686983bf76550dc2b3fed642f`입니다. 운영 서버에 사용했던 일회성 노트 마이그레이션 함수와 호출을 제거했으므로 운영 서버의 main.cjs와 해시가 다른 것이 정상입니다.
## 시험 중 발견하고 수정한 사항
첫 예제 압축본은 폴더 항목이 빠져 일부 상위 노트를 생성하지 못했습니다. 원본 ZIP의 디렉토리 항목과 순서를 보존하도록 고친 뒤 완전히 새로운 데이터 폴더에서 새 문서 생성과 링크 검사를 다시 통과했습니다.
첫 실패 복귀 시험에서는 Docker가 재빌드 후 이전 이미지 다이제스트를 찾지 못했습니다. 새 빌드 전에 이전 이미지에 고유한 복구 태그를 붙이도록 변경했습니다. 수정 후 고의 실패를 다시 일으켜 이전 이미지와 기동 상태가 복구되는 것을 확인했습니다.
## 적용 범위
이 기록은 위 고정 버전과 환경에서 실제 수행한 검사 결과입니다. 새 설치와 공식 0.95.0에서의 전환 및 재설치 경로를 확인했습니다. 최신 Trilium 버전의 DB를 0.95.0으로 내리는 작업을 보장하지 않습니다. 기존 노트 본문을 자동으로 다시 번역하는 기능은 설치 프로그램에 넣지 않았습니다.
원시 검사 결과는 `test-results`에 있으며 검사에 사용한 스크립트는 `tools/test-database.py`와 `tools/test-release-recovery.py`에 있습니다. 이 스크립트들은 운영 DB 오작동을 막기 위해 당시 테스트 경로만 허용합니다. 일반 설치에는 이 검사 스크립트가 필요하지 않습니다.