자사 출입보안 솔루션
00항공 물리 보안 통합 시스템 구축 경험을 바탕으로, 자사 범용 출입보안 솔루션을 제품화하기 위한 내부 프로젝트입니다. 도메인 기능 구현보다 온프레미스 Kubernetes 개발환경·CI/CD 체계·공통 라이브러리 배포 구조를 설계하고 구축했습니다.
Role & Scope
고객사 프로젝트 경험을 사내 제품화 가능한 솔루션 개발 인프라로 전환했습니다.
- 기간
- 2025.06 ~ 2025.08
- 역할
- 온프레미스 인프라 및 CI/CD 구축 담당
- 참여 인원
- 총 7명 참여 프로젝트
- 구성
- 백엔드 4개 · 프론트엔드 1개 서비스
- 기술 스택
- Kubernetes · ArgoCD · Argo Rollouts · GitHub Actions · Docker Hub · Helm · Nexus · MySQL · Spring Boot 3 · Java 17 · QueryDSL
- 온프레미스 Kubernetes 개발환경 설계 및 구축
- GitHub Actions 기반 빌드/배포 자동화
- Docker Hub · Helm · ArgoCD · Argo Rollouts 연동
- Nexus Repository 구성 및 공통 JAR 배포 구조 설계
- Kubernetes 내부 네트워크 기반 서비스 간 통신 구조 정리
Architecture
GitHub Actions → Docker Hub / Helm → ArgoCD(Argo Rollouts Blue-Green) 배포 체계와, Nexus를 통한 공통 JAR 배포 구조입니다.
CI/CD · GitOps · 공통 라이브러리(Nexus) 배포 구조
flowchart TB
GitHub["GitHub"] --> Actions["GitHub Actions"]
Actions --> DockerHub["Docker Hub"]
Actions --> HelmRepo["Helm Chart Repository"]
Actions --> ArgoCD["ArgoCD Sync Trigger"]
ArgoCD --> Rollouts["Argo Rollouts<br/>Blue-Green"]
CommonJar["공통 로직 JAR"] --> Nexus["Nexus Repository"]
Actions -. build dependency .-> Nexus
subgraph K8s["On-Prem Kubernetes"]
FE["Frontend x1"]
BE["Backend Services x4"]
MYSQL[("MySQL")]
end
Rollouts --> K8s
FE --> BE
BE --> MYSQL
BE -. K8s 내부 네트워크 기반 통신 .-> BE
What I Did · 문제 해결
Docker Hub · Helm · ArgoCD · Argo Rollouts · Nexus를 엮어 솔루션 개발 표준 환경을 구성했습니다.
-
자사 솔루션용 개발환경 구축
00항공 프로젝트 경험을 바탕으로 자사 범용 출입보안 솔루션 개발을 위한 온프레미스 Kubernetes 환경을 구성했습니다.
개발환경에는 백엔드 4개 서비스와 프론트엔드 1개 서비스를 배포할 수 있도록 구성했습니다.
-
CI/CD 자동화 구성
GitHub Actions에서 서비스 이미지를 빌드해 Docker Hub에 push하고, Helm Chart 저장소의 image tag를 커밋 해시 기반으로 업데이트하도록 구성했습니다.
이후 ArgoCD sync를 트리거해 Kubernetes에서 blue-green 배포가 시작되도록 했고, 실제 배포 전략은 Argo Rollouts로 구성했습니다.
-
공통 라이브러리 배포 체계 마련
백엔드 공통 로직은 별도 JAR 라이브러리로 패키징해 Nexus Repository에 배포했습니다.
각 백엔드 서비스가 공통 라이브러리를 의존성으로 가져가도록 구성해 중복 코드를 줄이고, 공통 정책 변경 시 재사용성을 확보했습니다.
-
서비스 간 통신 및 공통 인프라 구성
Kubernetes 내부 네트워크를 기준으로 백엔드 서비스 간 통신 흐름을 정리했습니다.
MySQL과 Nexus Repository를 개발환경에 함께 구성해, 애플리케이션 실행 환경과 공통 자산 배포 환경을 모두 갖춘 형태로 운영할 수 있게 했습니다.
Impact · 성과
면접에서 강조할 핵심 어필 포인트입니다.
- 특정 고객사 프로젝트 경험을 사내 제품화 가능한 솔루션 개발 인프라로 전환한 프로젝트입니다.
- 단순 배포 자동화가 아니라 Docker Hub · Helm · ArgoCD · Argo Rollouts · Nexus를 엮어 솔루션 개발 표준 환경을 만든 경험을 강조할 수 있습니다.
- 공통 로직을 JAR로 분리하고 Nexus로 배포하는 구조는 팀 개발 생산성과 유지보수성을 함께 고려한 설계 포인트입니다.