프론트엔드 / 백엔드 버전 불일치
Settings → About에서 프론트엔드 버전과 백엔드 버전이 나란히 표시되며, 두 버전이 다르기 때문에 해당 행이 황색으로 강조 표시됩니다. 예를 들면 다음과 같습니다.
- 프론트엔드
v1.5.0대 백엔드v1.5.0-1-gabc1234, 또는 - 프론트엔드
v1.5.0대 백엔드v1.4.0.
패널은 의도적으로 불일치를 강조 표시합니다 — 이것이 내장 드리프트 감지기입니다. 올바르게 배포된 박스에서는 두 버전이 일치하는 것이 정상입니다.
백엔드가 보고하는 버전을 직접 읽어, About 패널이 프론트엔드에 대해 표시하는 값과 비교합니다.
curl -s http://localhost:5000/api/system/health | jq '{version, commit, buildTime}'흔한 원인은 두 가지입니다.
- 오래된 브라우저 탭. 프론트엔드 번들은 빌드 시점에 구워지므로, 오래된 탭은 재배포 후에도 로드 당시의 버전을 계속 표시합니다.
- 한쪽 컨테이너만 재배포됨. 새 백엔드 이미지는 배포되었지만 프론트엔드 이미지(또는 그 반대)는 다시 빌드되지 않은 경우 — 실제로 서로 다른 버전을 실행하게 됩니다.
태그 뒤에 추가 커밋이 붙은 버전 문자열(...-1-gabc1234)은 해당 컨테이너가 릴리스 태그 이후의 커밋에서 빌드되었음을 의미합니다 — 깨끗하게 태그된 빌드보다 앞서 있는 것입니다.
-
먼저 오래된 탭부터 배제하세요 — 가장 비용이 적게 드는 원인입니다. 브라우저를 하드 새로 고침(캐시를 무시하고 다시 로드)하세요. 이제 프론트엔드와 백엔드가 일치하면 완료입니다. 배포에는 실제로 아무 문제가 없었던 것입니다.
-
그래도 다르면, 두 이미지가 동일한 버전이 되도록 재배포하세요. 프론트엔드와 백엔드가 동일한 릴리스에서 빌드되도록 스택을 함께 다시 빌드하고 기동합니다.
Terminal window docker compose -f docker-compose.release.yml up -d -
일치 여부를 검증하세요. Settings → About을 다시 로드하면 황색 강조 표시가 사라져야 합니다. 백엔드 버전도 확인하세요.
Terminal window curl -s http://localhost:5000/api/system/health | jq .version
- 프론트엔드와 백엔드를 함께 배포하세요. 두 이미지 모두 빌드 시점에 구워진 버전을 지닙니다. 하나의 릴리스에서 짝을 이룬 세트로 배포하면 About 패널이 녹색으로 유지됩니다.
- 배포할 때마다 하드 새로 고침하세요. 브라우저 탭은 다시 로드하기 전까지 오래된 번들을 유지합니다. 각 배포 후 빠른 하드 새로 고침은 잘못된 드리프트 보고를 방지합니다.
- About 패널을 배포 후 점검 도구로 사용하세요. 이를 최종 합격 단계로 취급하세요 — 황색이면 배포가 끝나지 않은 것입니다.
관련 항목
섹션 제목: “관련 항목”- 릴리스 노트 — 각 버전에 포함된 내용.
- 관측 가능성 및 알림 — 버전과 함께 보는 런타임 상태.