## 실행 방법 ### 커맨드라인에서 실행 ``` .\ServerControlTool.exe [env] env : stage / live / 생략시 local ``` ### DevTray ``` 사전작업 server-all.sln 빌드 실행 위치 Server/Tools/ControlCenter/ServerControlTool/bin/Debug/net8.0-windows7.0/ServerControlTool.exe [env] 메뉴 서버 관제 시스템 > Control Tool 실행 - {env} ``` ## Tool 정보 ### 메뉴 구성 **메인 메뉴** - File > Exit : Tool 종료 - View - AgentList : Control Center Server에 연결된 Agent List 목록 - ServerList : Agent 들이 관리하고 있는 Server List 목록 - Command - Process - Add : Server 추가 생성 ( 사용할 Agent 가 없으면, 신규 AWS Instance 생성 ) - Del : 미사용 - AWS - AllLB > AllowUser : Login 및 UgqApiServer 의 외부 접속 허용 처리 ( LoadBalancer 수정 ) - AllLB > BlockUser : Login 및 UgqApiServer 의 외부 접속 불가 및 사내 접속 허용 처리 ( LoadBalancer 수정 ) - 기타 : 각 역할에 맞는 LoadBalancer 수정 - Logs - Start : Control Center Tool 에서 생성하는 Log 기록 표시 - Stop : Control Center Tool 에서 생성하는 Log 기록 멈춤 - Configure - ScaleSetting : 서버 기본 Scale In/Out 설정 - PatchSetting : 신규 Instance 생성에 필요한 AMI 이미지 설정 **팝업 메뉴** - Process - Start : 선택된 서버 시작 명령 - Stop : 선택된 서버 종료 명령 ( 단, 접속된 모든 유저들이 Disconnect 될때까지 대기 ) - Restart : 선택된 서버 재시작 명령 ( 단, 접속된 모든 유저들이 Disconnect 될때까지 대기 ) - ForceStop : 선택된 서버 강제 종료 명령 ( 접속된 모든 유저 Kick 처리 후 종료 ) - ForceRestart : 선택된 서버 강제 재시작 명령 ( 접속된 모든 유저 Kick 처리 후 재시작 ) - Patch : 선택된 서버를 해당 버전으로 Patch ( SFTP 데이터 활용 ) - Setting - AutoReStart : Agent 가 관할하는 서버 상태를 체크하여, 재시작 처리하는 옵션 수정 - Config - Open : Agent 가 관할하는 서버의 Config 파일 오픈 - Save : 화면에 수정된 Config 내용 저장 - Contents - Block Server : 서버에 더이상 유저 유입이 없도록 Block 처리 - Kick Server : 서버에 접속한 모든 유저들을 Kick 처리 - Log : 미사용 ### 화면 구성 - 상단 : 기본 정보 - Login / Ugq LoadBalancer 적용 정보 : Port - 적용 Port / Source - 적용 IP / desc - 설명 - Server Info - All Agent Count : Control Center 에 연결된 Agent 수 - All Server Count : Agent 들이 관리하는 Server 수 - All Connection User Count : 현재 접속된 모든 유저 수 - 좌측 - Server Type 별 서버 간략 정보 - 우측 ( Main ) - Server Type 별 서버 상세 정보 ( ServerList ) - Agent 상세 정보 ( AgentList ) - Configure 정보 등 상세 정보 표시 ## 배포&패치 방법 ### 빌드 및 AMI 이미지 생성 (배포) **Stable Branch** - 기본 사항 - 선택 가능 Branch : Trunk / Stable / Product - 배포 가능 환경 : Stable / Stage - Control Center : http://10.20.20.7:8080/view/Stable-New/job/Stable-ControlCenter-Build/ - Server : http://10.20.20.7:8080/view/Stable-New/job/Stable-Main-Build/ - 매개변수 - Build Target : 패치에 포함해야 하는 항목 - Target Env : 패치 대상 환경 ( Stable / Stage ) - Branch Name : 패치에 사용되는 SVN 브랜치 - SVN Revision : 패치에 사용되는 SVN Revision **Product Branch** - 기본 사항 - 선택 가능 Branch : Product - 기본 배포 환경 : Stage - Live 배포 Job 을 실행하기 전까진 Stage 로 계속 배포됨 - Live 배포 Job 실행시 이전 Stage 로 배포된 모든 누적 내용이 적용됨 - Control Center : http://10.20.20.7:8080/view/Product-New/job/Product-ControlCenter-Build/ - Server Build : http://10.20.20.7:8080/view/Product-New/job/Product-Main-Build/ - 매개변수 - Build Target : 패치에 포함해야 하는 항목 - Branch Name : 패치에 사용되는 SVN 브랜치 ( Product 로 고정됨 ) - SVN Revision : 패치에 사용되는 SVN Revision - Live 배포 & AMI 생성 : http://10.20.20.7:8080/view/Product-New/job/Product-Distribute-Live-With-Make-Image/ ### 패치 하기 (환경 공통) **Server** 1. Server 빌드 및 AMI 이미지 생성 2. Control Center Tool 활용 1) 패치 대상에 대한 Server 상태 변경 ( Running -> Stop ) 2) 패치 대상 선택 후 팝업 메뉴(Patch) 선택 (우클릭 메뉴) 1. 24-09-12 1. 패치 대상이 전체일 경우 - 기준 죄측 상단에 0으로 표시된 내용 우클릭해서 패치 3) 버전 리스트에서 패치할 버전 선택 4) Version 변경 확인 ( 패치할 버전으로 버전명이 변경되었는지 체크 ) 5) 상단 메뉴에서 Configure -> PatchSetting 선택 6) 신규 인스턴스를 위한 패치버전 선택 후 저장(리비전) **Control Center Agent** 1. Server 빌드 및 AMI 이미지 생성 ( Binary ) 2. Control Center Tool 활용 1) AgentList 화면 전환 2) 패치 대상 Agent 선택 후 팝업 메뉴(Patch) 선택 (우클릭 메뉴) 3) 버전 리스트에서 패치할 버전 선택 4) Id 가 변경되었는지 확인 ( 패치 버전 명 추후 업데이트 예정 ) 5) 상단 메뉴에서 PatchSetting 선택 6) 신규 인스턴스를 위한 패치버전 선택 후 저장