Repository navigation
Description
종료 판단 — 2026-10-19
배포 완료로 종료합니다. Release·배포 기록을 다시 확인했습니다. 미확인 검증은 후속 QA #339로 이관했으며 통과한 것으로 표시하지 않습니다. 기능·정책이 남은 개별 이슈도 그대로 유지합니다.
목적과 포함 변경
URL 표기 차이로 생기는 중복 저장과 웹·서버 GA 식별자 불일치를 해결한 변경을 0.1.4 패치 릴리즈로 반영합니다.
- www·루트 슬래시 차이로 발생하는 URL 중복 저장 방지 #333 / PR fix: www·루트 슬래시 차이로 인한 URL 중복 저장 방지 (#333) #334: 선행
www.와 루트 끝 슬래시를 정규화해 중복 조회와 새 저장값에 동일 적용 - 웹·서버 GA 사용자 및 링크 식별자를 DB 기준으로 통일 #335 / PR fix: GA 분석용 회원 및 링크 식별자 제공 (#335) #336: 회원 프로필·링크 응답에 DB ID의 10진 문자열
analyticsId추가 및 머지 (e560119)
기존 API의 Hashids id는 유지합니다. 기존 저장 데이터의 일괄 변환·중복 삭제, 리다이렉트 최종 주소 정책(#324), RAG 동기화 후속 작업(#325)은 이번 범위에 포함하지 않습니다.
릴리즈 준비와 적용 순서
- 기능 PR을 합친
main@e560119의 포함 커밋과 CI 확인 (릴리즈 PR 머지 후 대상 SHA 재확인) - Gradle·Swagger 버전을
0.1.4로 맞추고 CHANGELOG의v0.1.4항목 확정 - 릴리즈 PR Release v0.1.4 #338 검토·리베이스 머지 (
1c536402, PR head와 파일 트리 동일) - 검증한
main@1c536402에v0.1.4태그 생성, 이미지·운영 배포·GitHub Release 확인 - 운영 OpenAPI 0.1.4의 회원·링크 응답
analyticsId스키마 확인 후 프론트 릴리즈 진행 (인증된 실제 응답값 대조는 아래 별도 확인)
백엔드 배포가 프론트의 GA 식별자 연동보다 먼저입니다. 새 환경변수나 DB 스키마 마이그레이션은 없습니다. 별도 docs 또는 README 변경은 예정하지 않습니다.
검증 결과와 후속 QA
Release v0.1.4와 운영 배포가 완료되었습니다. 릴리즈 커밋 1c536402의 main CI·로컬 번들 빌드도 성공했습니다. 로컬 Java 17 테스트 586개, Checkstyle·JaCoCo와 JAR 0.1.4 빌드가 통과했습니다. 로컬 검증은 H2·모의 외부 연동 기준입니다.
운영 버전은 v0.1.4이며 공개 health-check·OpenAPI가 200, API 문서 버전은 0.1.4입니다. 2026-10-19 GA 디버그 설정 해제를 위해 동일 이미지로 blue에 전환했습니다. 활성 컨테이너는 healthy, 앱·DB·Redis 상태는 UP이며 이전 green은 중지 상태로 보존했습니다. Prometheus·Alertmanager도 컨테이너 내부 readiness를 확인했습니다.
PR #338의 버전·CHANGELOG 변경 범위와 최종 head CI를 검토하고, 이 작업에서 사용자가 승인한 관리자 우회를 재사용해 리베이스 머지했습니다. 브랜치 보호 설정은 변경하지 않았습니다.
- 운영 버전·이미지·healthcheck 정상 확인
- 실제 계정으로 웹 로그인·링크 저장·질의·제보 열기·빠른 재요약 흐름 확인
- 실제 질의 4건의 GA
app_query_id와 DB 질의 로그 대조 - 같은 링크의
summary_complete·summary_regenerate식별자 및 웹·서버user_id일치 확인 - 운영
ANALYTICS_GA4_DEBUG_MODE=false와 배포 Secret 반영, 동일 이미지 전환 및 서비스 헬스체크 확인 - GA 데이터 필터 확인: 내부 트래픽 필터는 테스트 상태이며 활성 개발자 트래픽 제외 필터 없음
- 이관:
naver.com,www.naver.com, 각 루트 슬래시의 동일 링크 판정·새 저장값 및 기존 링크 호환성을 운영 API에서 종합 검증 - 이관: 명시적 http·path·query·fragment 보존과 회원·링크 응답의 기존
id·analyticsId를 운영 응답으로 종합 대조 - 이관: 스토어 설치본의 실제 저장 이벤트와 회원 연결 검증: 확장 #31
- 이관: 웹 브라우저·확장 설치별
client_id전송값 대조
웹 GA 대조는 검증 기록을 근거로 반영했습니다. 배포·서버 디버그 해제는 완료됐으며, 미확인 운영 QA와 확장 검증까지 완료한 것으로 처리하지 않습니다.
과거 GA 식별자 데이터는 소급 변경되지 않습니다. 배포 완료를 기준으로 릴리즈 이슈를 종료하고, 위 이관 항목은 QA #339에서 계속 추적합니다.
배포 후 장애 제보 확인 — 2026-10-19
네이버 블로그의 바깥 페이지만 수집하고 본문 mainFrame을 읽지 못해 초기 요약이 EMPTY_CONTENT로 실패한 것이 확인됐습니다. renderer 1.0.7-naver-frame을 운영에 반영해 같은 도메인의 지정된 본문 프레임만 한 번 따라가도록 수정했습니다. 기존 주소 검증·컨테이너 격리를 유지하고 이전 컨테이너는 복구용으로 보존했습니다.
- 실패했던 동일 URL: HTTP 200, usable=true, 본문 4,255자 추출 성공.
- 승인된 개인 계정의 웹 저장 검증: 테스트 링크 609, n8n 실행 14849/14850 모두 성공. 전체 링크 화면에서 새로고침 없이 요약 표시 확인.
- renderer 회귀 19개·RAG 회귀 267개·v39 변형 검사 통과. 현재 API/웹 200, 컨테이너 재시작/OOM 없음.
- 별도 문제인 renderer 422 → n8n 500 변환 및 불필요한 재시도는 워크플로 수정 준비 완료. 실제 n8n 노드의 합성 계약 8건 통과. 자동 승인 심사가 운영 게시·재시작에 별도 승인을 요구해 현재 게시 대기이며, n8n 활성 버전은 기존
2f048b14-d6ad-4513-afcd-f84b31fa02ae입니다.
RAG 로컬 커밋 ea89865에 수정·검사·자동 복구 절차를 보존했습니다. 원인 및 검증 상세. 실제 웹·서버 GA 대조는 완료했으며, 스토어 설치본의 저장 이벤트 검증은 남아 있습니다.
복구 및 관련 작업
회귀가 있으면 이전 v0.1.3 코드·설정을 기준으로 배포를 복구합니다. 이미지 복구로 이미 저장된 URL을 되돌리지는 않습니다. 백엔드를 먼저 복구하면 새 프론트는 없는 분석 ID를 생략하므로 계측 확인이 필요합니다.
- 프론트 연동: Fix: 웹 GA 식별자를 서버 분석 ID로 통일 (#609) linkiving#610
- 후행 프론트 릴리즈: 0.1.4 릴리즈 linkiving#611
- 확장 릴리즈 및 저장 검증: 0.2.1 릴리즈 linkiving-extension#31
- 이전 릴리즈 후 배치 확인 잔여 항목: 0.1.3 릴리즈 #331
Activity
chore: 0.1.4 릴리즈 준비 (#337)
goder-0 commentedon Oct 19, 2026
실서비스 웹에서 링크 저장, 질의 4종, 제보 열기, 재요약을 실행하고 GA 수신 결과를 운영 처리 결과와 대조했습니다. 합성 GA 이벤트로 대체하지 않았습니다.
확인 완료:
후속 문제:
남은 검증:
이번 결과만으로 미확인 QA나 확장 검증까지 완료 처리하지 않습니다. 운영 코드 변경과 데이터 초기화는 수행하지 않았습니다.