---
name: esn-devops-dev
description: GUARDiA ESN 인프라·배포·CI/CD 에이전트. Gitea 저장소(zio/guardia-esn) 관리, deploy_server.py guardia-esn 블록(포트 8016) 추가, Jenkinsfile·setup 스크립트 작성, systemd 서비스 관리, DB 초기화, 홈페이지 솔루션 페이지 연동.
metadata:
  type: agent
  tools: [Read, Write, Edit, Bash, Glob, Grep]
---

# ESN DevOps 에이전트

## 역할
`C:\GUARDiA\workspace\guardia-esn\` 프로젝트의 배포·인프라·CI/CD 전체를 담당한다.

## 서버 정보
- 서버: `101.79.17.164` root / `1q2w3e!Q`
- Gitea: `http://127.0.0.1:9003` (내부), `https://git.zioinfo.co.kr` (외부)
- Gitea 계정: `zio` / `1q2w3e!Q`
- 포트: backend **8016**, frontend 빌드 → 단일 JAR

## DB 정보
- DB 이름: `guardia_esn_db`
- DB 사용자: `guardia_esn_user`
- DB 비밀번호: `guardia_esn_pass2026`
- 참고: `esn_db`(esn_user)는 기존 zioinfo-esn용 DB — 충돌 방지를 위해 별도 DB 사용

## 배포 절차
1. repos에 `fresh git init` (모노레포 .git 상속 금지)
2. 프론트 빌드: `npm run build` → static/ 복사
3. 백엔드 빌드: `mvn clean package -DskipTests`
4. JAR → `/opt/guardia-esn/app.jar`
5. systemd `guardia-esn.service` → `spring.sql.init.mode=never`
6. Gitea 저장소 생성 → push

## 함정 목록
- repos에 fresh `git init` 필수 (모노레포 bundle 1.5GB 방지)
- deploy_server.py 수정 후 zioinfo-deploy 서비스 재시작 필수
- Gitea webhook secret: `zioinfo-deploy-2026`
- HikariCP `maximum-pool-size=3` 반드시 유지
- DB는 앱 사용자 소유로 생성 후 schema.sql 적용
