7.5 KiB
7.5 KiB
Q&A 운영 배포 체크리스트
대상 도메인: https://qa.baroncs.co.kr
정리일: 2026-10-28
현재 저장소에서 확인한 상태
- 스테이징은
baron-qa-gateway-test,qa-test.baroncs.co.kr,baron-qa-pages를 사용한다. - 운영 Worker
baron-qa-gateway-prod, custom domainqa.baroncs.co.kr, R2 버킷baron-qa-write생성과 연결을 사용자가 완료했다. - 운영 전용
wrangler.production.toml과 수동 배포 workflowDeploy EG-BIM QA Production을 추가했다. - 운영 등록값과 실행 방법은 production 파이프라인 안내를 따른다. 실제 운영 배포는 아직 수행하지 않았다.
내가 준비·확정할 항목
1. DNS와 Cloudflare
baroncs.co.krzone이 운영 Cloudflare 계정에 있는지 확인했다.qa.baroncs.co.kr을 운영 Worker custom domain으로 연결했다.- 스테이징과 같은 Cloudflare 계정에 운영 Worker와 버킷을 생성했다.
- 운영 정적 파일용 R2 버킷을 생성했다:
baron-qa-write. 스테이징baron-qa-pages와 분리해 사용한다. - 배포용 Cloudflare API token에 계정 범위의 Workers Scripts Read/Write, Workers R2 Storage Read/Write, Account Settings Read 권한을 부여하고
PROD_CLOUDFLARE_API_TOKENSecret에 등록했다. 사용자 등록 완료 보고 기준이며 실제 token 인증은 배포 실행 시 검증한다. 도메인 연결은 대시보드에서 완료했다. 권한 상세
2. SSO 운영 등록
- 운영 callback URI를 SSO에 등록했다:
https://qa.baroncs.co.kr/auth/callback. 사용자 완료 보고 기준이다. - 로그아웃 후 이동 URI를 SSO에 등록했다:
https://qa.baroncs.co.kr/. 사용자 완료 보고 기준이다. - 운영 SSO 설정에 맞는
PROD_AUTH_CLIENT_ID등 관련 변수 등록을 완료했다. 실제 로그인 동작 확인은 운영 배포 후 수행한다. - 운영 도메인에서 실제 사내 사용자로 로그인·로그아웃할 수 있는지 확인한다.
3. ABC UserFeedback 운영 대상
- 보류 — 관리페이지 서버 확정 후 진행: 운영 API 주소를 확정하고
PROD_ABC_API_BASE_URL에 등록한다. - 보류 — 관리페이지 서버 확정 후 진행: 운영 project ID와 channel ID를 확정하고
PROD_ABC_PROJECT_ID,PROD_ABC_CHANNEL_ID에 등록한다. 현재 저장소의 ID를 운영에서 재사용해도 되는지 확인한다. - 보류 — 관리페이지 서버 확정 후 진행: 운영 project/channel에 문의 생성, 첨부, 댓글 조회·등록·수정·삭제 권한이 있는 API key를 준비하고 Gitea Secret
PROD_ABC_API_KEY에 등록한다. 이 키가 등록될 때까지 첫 운영 배포는 진행하지 않는다. requester_affiliation,requester_department필드가 운영 channel에서 허용되는지 확인한다.- 운영 문의를 스테이징 데이터와 분리할지 결정한다. 기존 데이터 이전이 필요하면 별도 이관 범위와 실행 계획을 정한다.
- 운영 source namespace와 idempotency consumer를 스테이징과 구분할 값을 정한다.
4. 조직 컨텍스트 API
- 운영에서 조회할 기준 tenant UUID를 확정한다. 여러 개면 JSON 배열로 제공한다.
- 운영용
ORG_CONTEXT_KEY_ID와ORG_CONTEXT_KEY_SECRET을 준비한다. 스테이징 키 재사용이 허용되는지 API 소유자에게 확인한다. - 운영 키가 해당 기준 tenant에 대해
SCOPED/identifiers조회 권한을 갖는지 확인한다. - 운영 설정으로 org API 사전 검증을 통과시킨다. 키와 조직 원문이 빌드 로그에 출력되지 않는지 확인한다.
5. 운영 배포 값 등록
스테이징에 등록한 STAGING_* 값은 운영 배포에 자동 적용되지 않는다. production 파이프라인 안내의 확정된 PROD_* 등록 목록을 사용해 Gitea Actions Variables / Secrets에 등록한다. 아래는 운영 대상 값의 요약이다.
- 사용자 보고 기준, 관리페이지 연동
PROD_ABC_*4개를 제외한 운영 Secrets와 Variables 등록을 완료했다. 실제 연결·권한은 배포 전에 검증한다.
운영 설정
| 설정 | 운영 값 |
|---|---|
| Worker 이름 | baron-qa-gateway-prod |
| Worker custom domain | qa.baroncs.co.kr |
| AUTH redirect URI | https://qa.baroncs.co.kr/auth/callback |
| AUTH post logout URI | https://qa.baroncs.co.kr/ |
| AUTH client ID | 운영 SSO client ID |
| ABC API base URL | https://feedback.hmac.kr 또는 운영 API 주소 |
| ABC project ID / channel ID | 운영 대상 ID |
| ABC source namespace / idempotency consumer | 스테이징과 구별되는 운영 값 |
| R2 bucket | baron-qa-write |
| ORG_CONTEXT_ENABLED | true |
| ORG_CONTEXT_API_URL | https://sadmin.hmac.kr/api/v1/integrations/org-context |
| ORG_CONTEXT_SCOPE_MODE / EXPOSURE | SCOPED / identifiers |
| ORG_CONTEXT_TENANT_IDS | 운영 기준 tenant UUID JSON 배열 |
| ORG_CONTEXT_CACHE_TTL_SECONDS | 300 권장 |
운영 Secrets 용도
| Secret | 용도 |
|---|---|
| Cloudflare API token | 운영 Worker와 정적 파일 배포 |
SESSION_SECRET |
운영 세션 서명용. 스테이징과 별도 값 |
ABC_API_KEY |
운영 ABC project/channel API 접근 |
ORG_CONTEXT_KEY_ID |
조직 컨텍스트 연동 Key ID |
ORG_CONTEXT_KEY_SECRET |
조직 컨텍스트 연동 Key Secret |
Secret 원문은 소스, Markdown, 채팅, workflow 로그에 넣지 않는다.
개발 측에서 필요한 변경
- 스테이징 설정을 보존하면서 production 전용 Wrangler 설정을 추가했다.
- Worker 이름, domain, OAuth URL, R2 bucket, ABC 대상, 조직 API 값을 환경별로 분리했다.
- 별도 운영 배포 스크립트를 추가하고, 운영 배포 전에
npm run org:verify를 수행하도록 연결했다. - production 수동 배포 workflow에
PROD_*매핑과 필수값 검증을 추가했다. - 운영 정적 파일을 운영 버킷의 커밋별 release 경로에 업로드하도록 연결했다.
- 배포 실행 전에 변경 범위와 대상 도메인을 검토하고, staging 배포와 product 배포가 섞이지 않도록 확인한다.
운영 배포 후 확인
https://qa.baroncs.co.kr의 TLS 인증서와 정적 페이지 응답을 확인한다.- SSO 로그인·로그아웃 및 세션 쿠키 동작을 확인한다.
- 회사·부서가 조직 API 기준 정보와 일치하는지 확인한다.
- 텍스트 문의와 이미지 첨부 문의를 각각 1건 등록하고, 운영 ABC 화면의 requester 정보·회사·부서 값을 확인한다.
- 목록, 상세, 댓글 조회·등록을 확인하고 댓글 수정·삭제 권한을 작성자 기준으로 확인한다.
- 브라우저 Network 탭과 Cloudflare Worker logs에 API key, 연동 secret, 사용자 전화번호 원문이 노출되지 않는지 확인한다.
- 오류 시 이전 Worker 버전으로 되돌리는 방법과 담당자를 기록한다.
진행 순서
- 사용자가 DNS/SSO/ABC/Cloudflare 운영 값과 데이터 분리 방침을 확정한다.
- 개발 측에서 production 설정·workflow를 분리하고, 운영 변수·secret 이름을 확정해 공유한다.
- 사용자가 운영용 Gitea Variables/Secrets를 등록한다.
- production 조직 API 사전 검증과 배포 전 점검을 통과시킨다.
- production 배포 승인 후
qa.baroncs.co.kr에서 위 운영 확인 항목을 완료한다.