Skip to content

[chore] 앱인토스 미니앱 prod QA를 위한 릴리스 및 배포 후 작업 #79

Open

Description

@kyer5

🤷🏻 왜 이 작업을 해야 하나요? (Why)

  • 앱인토스 미니앱 QA를 prod 서버(api.gotggam.com)에서 진행합니다.
  • 앱인토스 설정([chore] 앱인토스 mTLS 인증서 및 미니앱 CORS 설정 #76)과 약관 조회 API([feature] 약관 조회 API 추가 #73)는 develop에만 반영되어 있고, main의 마지막 prod 배포는 v1.0.2(9/7)입니다.
  • 현재 prod 서버에 미니앱 Origin(gotggam.apps.tossmini.com, gotggam.private-apps.tossmini.com)으로 preflight 요청을 보내면 403이 반환되어 미니앱에서 API를 호출할 수 없습니다.
  • 릴리스 후 #73의 수동 SQL을 실행하지 않으면 prod에 약관 데이터가 없어 약관 조회가 실패합니다.

👨🏻‍💻 무엇을 변경할 예정인가요? (What)

릴리스 전 점검

  • mTLS 인증서 파일 확인 (/etc/gotggam/toss-cert)
    • 컨테이너 spring 사용자(UID 101)로 읽을 수 있는 권한입니다.
    • 인증서와 개인 키의 공개키가 일치하고, 유효기간은 2027-10-29까지입니다.
  • prod consent_document 행 0건 확인 (is_active NOT NULL 컬럼 자동 추가 가능)
  • GitHub prod environment Secrets 경로 값 확인 (CERT_PATH/KEY_PATH는 컨테이너 경로여야 합니다)
    • TOSS_MTLS_HOST_DIR = /etc/gotggam/toss-cert
    • TOSS_MTLS_CERT_PATH = /secrets/toss/gotggam-cert_public.crt
    • TOSS_MTLS_KEY_PATH = /secrets/toss/gotggam-cert_private.key

릴리스

  • develop → main 머지 후 prod 배포
  • 앱 정상 기동 확인 (tossApiRestClient 빈 생성)

릴리스 후 작업 (#73)

  • ALTER TABLE consent_document ALTER COLUMN content SET NOT NULL;
  • CREATE UNIQUE INDEX uk_consent_document_active_type ON consent_document (type) WHERE is_active;
  • 약관 2건 적재 (PRIVACY_POLICY, TERMS_OF_SERVICE v1.0.0, dev와 동일한 본문)

검증

  • 미니앱 Origin 2개로 preflight 요청 시 200 및 Access-Control-Allow-Origin 응답 확인
  • 약관 조회 API 응답 확인
  • 앱인토스 콘솔 QR 테스트 환경에서 API 호출 확인

참고

  • 프론트 @apps-in-toss/web-framework 3.6.0은 공식 문서 기준으로 *.apps.tossmini.com Origin을 사용하므로 현재 prod 설정과 일치합니다.
  • QA 데이터가 운영 DB에 함께 쌓이므로, QA 후 정리 방법을 정해야 합니다.

Activity

  1. self-assigned this
    on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

⚙️ chore설정 및 기타 이슈

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions