📑 목차
원격 연동 개요 Remote API (5개 액션) SSH 연결 구조 원격 배포 (deploy) 운영→개발 동기화 서버 관리 UI

🖥️ 원격 서버 연동

SSH 프로토콜을 통해 원격 서버의 버전을 확인하고, 릴리즈를 원격 배포하며, 운영 환경과 개발 환경을 동기화할 수 있습니다.

Remote API (api/remote.php) — 5개 액션

액션HTTP엔드포인트설명
pingGET/api/remote?action=ping&site=kiam-prodSSH 연결 가능 여부 확인
statusGET/api/remote?action=status&site=kiam-prod문서 루트 존재·버전 확인
serversGET/api/remote?action=servers전체 서버 목록
deployPOST/api/remote (body: action=deploy)원격 서버에 릴리즈 배포
syncPOST/api/remote (body: action=sync)운영→개발 동기화

SSH 연결 구조

각 사이트는 서버 정보를 site-registry.json에 보유:

"server_hostname": "main-server",
"server_ip": "127.0.0.1",
"server_port": 22

PHP의 ssh2_connect() 또는 exec("ssh ...") 로 연결을 시도합니다.

원격 배포 (deploy)

POST /vermanager/api/remote
Content-Type: application/json

{
  "action": "deploy",
  "site": "kiam-prod",
  "version": "1.0.2"
}

→ 응답:
{
  "ok": true,
  "message": "✅ v1.0.2 배포 완료!",
  "server": "main-server",
  "deployed_version": "1.0.2"
}

운영→개발 환경 동기화

action=sync는 parent_site_id 관계를 기반으로 동작합니다. kiam-prod의 package.json, improvements.json, changelog.json 등을 kiam-dev로 복제합니다.

POST /vermanager/api/remote
{"action": "sync", "source": "kiam-prod", "target": "kiam-dev"}

→ 응답:
{
  "ok": true,
  "message": "✅ [KIAM 운영환경] → [KIAM 개발환경] 동기화 완료!"
}

서버 관리 UI (pages/remote.php)

  • 서버 카드: 서버명, IP, 포트, 연결 상태(녹색/적색)
  • Ping 버튼: 클릭 시 서버 응답 확인
  • 배포(Deploy) 버튼: 최신 버전을 원격 서버에 전송
  • 동기화(Sync) 버튼: 운영 환경 데이터를 개발 환경으로 복제