- HANDOFF_STATUS §2 완료 처리(2026-07-23): ur_itms_db 73T·ur_itms_rel_db 211T 적재, lower_case_table_names=1 전환, 백업 위치 기록 - DB_CONNECTIONS zio-dev 스키마 현황 갱신 - ITSM_DB/·ITSM_DB.zip·graphify-out gitignore(고객 데이터 커밋 금지) - SR 체크리스트 엑셀 조치결과→조치방안 교체 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5.9 KiB
ITMS 작업 인수인계 (핸드오프)
최종 갱신: 2026-07-23 | 다른 PC에서 이어서 작업하기 위한 현황·다음단계 정리 관련 문서:
CICD_PIPELINE.md(배포) ·DB_CONNECTIONS.md(DB 매핑) ·ITMS_INSTALL_RUNBOOK.md(설치) ·SR_BACKLOG_20260708.md/SR_CHANGES_20260719.md(고객 SR)
1. 지금까지 완료 (LIVE)
- CI/CD 파이프라인:
git push→ 개발(itms.zioinfo.co.kr) 빌드·배포 → 헬스게이트 → 운영(itms.wise.ai.kr) 자동 승격. push 자동연쇄 검증 완료. - 개발서버(itms.zioinfo.co.kr) 실동작: 로그인 → 메인 → 서비스데스크/자산/보고서 조회·검색 → SR 신청 등록(DB insert) → 결재 승인/반려(프로시저) → 검색(OpenSearch 9201 색인). 실 고객 데이터.
- 운영서버(itms.wise.ai.kr): front-only(데모). 로그인 등 풀스택은 RAM 게이트.
- 고객 SR 40건: 23건 완료·배포(로그인 잠금·서비스데스크 권한/검증·용어통일·브랜딩 F12·결재). 조치결과 엑셀+diff 문서 산출.
- 모바일 앱: Expo 12화면 + APK v1.0.0 게시(/mobile-app QR, dev·prod).
- 도메인별 프로파일 고정: zio-dev(개발)·zio-prod(운영), 16기관 yml 불변.
2. ★ 완전한 ur_itms_db 덤프 적재 — ✅ 완료 (2026-07-23)
2026-07-22 소유자 제공 완전 덤프(192.10.10.203, MariaDB 11.7.2)를 2026-07-23 개발서버에 적재 완료.
- 덤프 위치(로컬):
workspace/itms/ITSM_DB/(root 계정본이 정본, gitignore 대상 — 커밋 금지) / 서버:/root/ITSM_DB/ ur_itms_db73테이블(트리거 11·함수 2·프로시저 3 포함, tb_menu_info 63행·tb_pgm_list 58행 — 포털계층 원본 확보) → 기존 역설계 DB 백업 후 대체(/root/ITSM_DB/backup_ur_itms_db_pre_restore_*.sql.gz)ur_itms_rel_db211테이블 신규 적재(운영 DB 프로비저닝 시 이관 예정, itms_zio 권한 미부여 상태)- 서버 설정 변경: 원본이 대소문자 무시라 덤프 테이블명이 소문자·앱 SQL은 대문자 →
lower_case_table_names=1적용(/etc/mysql/mariadb.conf.d/99-itms-lower-case.cnf) + MariaDB 재시작. csv DB(188테이블) 무영향 확인 - DEFINER
uritms_usr01(미존재 계정)은 로드 시CURRENT_USER로 치환 - 적재 후 auth/api/front 정상 응답·사이트 200 확인. 잔여 검증: 로그인→메뉴→서브메뉴→페이지 전수 회귀
- ⚠ 적재 후 디스크 98%(여유 ~2.5GB) — 정리 필요 시 서버측 덤프 gz(119MB)부터
(이력) 원래 계획 — 완전한 ur_itms_db 덤프 적재 (근본 해결)
핵심 발견: 받은 덤프(mms_data/MSS ddl)에는 cm_* 업무 데이터만 있고, 배포된 ITMS(urpsys/eGov)가 메뉴·화면을 읽는 포털계층 테이블(TB_MENU_INFO·TB_PGM_LIST·TB_PORTLET·COMVNUSERMASTER·권한/사용자)이 0개. → 그 테이블들을 역설계 빈 껍데기로 때워왔고, 그래서 메뉴 URL 없음·서브메뉴 안 뜸·일부 페이지 500 이 반복됨.
소유자 확인(2026-07-20): 완전한 ur_itms_db 덤프 제공 가능. 이걸 받으면:
# 원본 서버에서 (프로시저·트리거 포함)
mysqldump -u root -p --routines --triggers --single-transaction --default-character-set=utf8mb4 ur_itms_db > ur_itms_db_full.sql
→ 개발서버 격리 DB(ur_itms_db)에 적재 → zio-dev 연결 → 역설계 포털 테이블 전량 대체 → 메뉴·URL·서브메뉴·페이지가 원본대로 동작. 지금까지의 역설계 땜질(09_menu.sql 등)은 이 덤프가 대체.
대안(방법 B): 원본 DB 직접 연결 — 단 ①개발서버(101.79.17.164)에서 네트워크 도달 가능해야 하고(내부망 192.168.8.x면 VPN/터널 필요) ②테스트 쓰기가 원본 운영 데이터를 오염시키므로 복제본/읽기전용 권장. → 격리 덤프 적재(방법 A)가 안전.
진행 중이던 역설계(메뉴 페이지 드리프트)는 이 덤프 도착 시 중단·대체 — 헛수고 방지를 위해 보류 상태.
3. 잔여 (외부자원 게이트 — 소프트웨어는 완료)
| 항목 | 게이트 | 비고 |
|---|---|---|
| 관리자 백오피스 페이지 500 | (2)의 완전 덤프로 대부분 해소 예상 | 포털계층 테이블 부재가 원인 |
| 운영서버 풀스택 로그인 | RAM 증설/서버 분리 | prod 가용 ~466MB, WISE/CAMP 상용 보호 |
| batch JVM 상시기동 | Oracle 인사망+NCP키+Quartz 잡설정 | 검색 색인은 어댑터로 대체 완성 |
| URP 검색 마이크로서비스 정품 | 운영 배포본 | 현재 dev 어댑터가 대체(계약 동일) |
| Stitch UI 시안(#6) | 새 세션에서 MCP 로드 | .mcp.json 등록됨 |
4. 다른 PC에서 이어가기
- clone:
git clone <Gitea>/ythong/itms(또는 pull). 소스·docs 최신(이 커밋 포함). - 고객 데이터는 Gitea에 없음(보안).
mms_data·MSS ddl·완전 덤프는 별도 안전 경로(USB/직접전송)로 가져올 것 — 커밋 금지. - Stitch MCP:
workspace/itms/.mcp.json(gitignore됨, 로컬 전용) 재생성 필요 시 키 재등록. - 서버 접근: 개발 101.79.17.164 / 운영 211.37.173.197(ssh :9271). 자격증명은 서버 시크릿(
/opt/itms/secrets/)·로컬 관리, 문서 미기재. - 작업 재개 지점: §2 완전 덤프 적재부터. 덤프 확보 → 개발서버 ur_itms_db에 적재 → zio-dev 검증(로그인→메뉴→서브메뉴→페이지 전수) → 회귀 확인.
5. 서버·배포 요약
- 개발: 101.79.17.164 — front:11020·auth:11000·api:11010, MariaDB(ur_itms_db)·OpenSearch(9201)·검색어댑터(48381). systemd
itms-*. - 운영: 211.37.173.197 — itms-front(zio-prod). nginx Host 기반 vhost.
- 배포: Gitea webhook → deploy_server itms 블록(dev 빌드→헬스→prod 승격). deploy_server 수정 시 서버
/opt/zioinfo/사본 반영+재시작 필수.