Skip to content

Latest commit

 

History

134 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 Foldy

10~20대 학습자를 위한 폴더형 메모 서비스
EKS 위에 GitOps 방식으로 배포

Java Spring Boot EKS

argoCD

Site

Grafana

(현재 서버를 내린 상태이기 때문에 접속할 수 없습니다.)


📌 서비스 소개

Foldy는 공부 내용을 폴더와 태그로 정리할 수 있는 메모 서비스입니다.
학습자가 자신만의 노트를 체계적으로 관리할 수 있도록 돕습니다.


🛠 기술 스택

영역 기술
Backend Spring Boot 3.5, JPA, Spring Security
Frontend Thymeleaf, Bootstrap
DB MySQL 8.0 (RDS)
Storage AWS S3
Container Docker, Amazon ECR
Orchestration Amazon EKS
IaC Terraform
CI GitHub Actions (OIDC)
CD ArgoCD (GitOps)
Monitoring kube-prometheus-stack, Grafana

🗂 레포 구조 (멀티 레포)

GitOps 정석(CI는 App 레포, CD는 Config 레포)에 따라 레포를 분리 운영합니다.

레포 책임 주요 내용
team3-app (현재 레포) 애플리케이션 + CI Spring Boot 소스, Dockerfile, GitHub Actions (OIDC → ECR)
team3-config 인프라 + 배포 (CD) Terraform(infra/), k8s 매니페스트, ArgoCD Application, 관측성
team3-testApp 파이프라인 테스트용 Hello 컨트롤러만 포함. CI/CD(빌드→ECR→ArgoCD) 흐름을 본 서비스 적용 전 먼저 검증한 레포

💡 앱 코드와 인프라/매니페스트를 분리하여, ArgoCD가 Config 레포를 단일 진실 공급원(SSoT)으로 추적합니다.
인프라 프로비저닝·배포 방법은 team3-config 의 README를 참고하세요.


🌿 브랜치 전략

브랜치 설명
main 최종 배포 브랜치
develop 통합 개발 브랜치
feature/* 기능 개발
fix/* 버그 수정
chore/* 설정/빌드 변경
ci/* CI/CD 변경
infra/* 인프라 변경

브랜치 네이밍 규칙

형식: 타입/이름_날짜/기능설명

예시

feature/HKD_20260522/login-api
feature/HKD_20260522/memo-crud
fix/HKD_20260522/jwt-expire-error
chore/HKD_20260522/dockerfile-update
infra/HKD_20260522/vpc-module

📝 커밋 컨벤션

형식: <타입>: <한 줄 요약>

타입 설명
feat 새로운 기능 추가
fix 버그 수정
refactor 리팩토링
chore 빌드/설정 변경
ci CI/CD 변경
infra 인프라 변경
docs 문서 수정

✅ 좋은 예

feat: 메모 생성 API 구현
fix: JWT 만료 처리 오류 수정
chore: Dockerfile JDK 17 변경
ci: GitHub Actions OIDC role-to-assume 적용
infra: EKS 노드그룹 인스턴스 타입 변경

❌ 나쁜 예

git commit -m "수정"
git commit -m "작업중"
git commit -m "aaaa"

🔀 PR 규칙

  1. feature/*develop 방향으로만 PR 생성
  2. PR 제목 형식: [feat] 메모 생성 API 구현
  3. PR 본문 템플릿 반드시 작성
  4. 인프라 변경 PR은 terraform plan 결과 첨부 필수
  5. 팀원 1인 이상 리뷰 후 approve → merge
  6. approve 없이 merge 금지

🔄 CI/CD 흐름

[PR 생성] → 빌드 / 테스트 [main merge]→ Docker 빌드(git SHA 태그) → OIDC로 ECR push → team3-config의 image tag 갱신 → ArgoCD가 감지 → (manual) sync → EKS 배포

  • CI: GitHub Actions, AWS 인증은 OIDC (Access Key 미사용)
  • CD: ArgoCD (manual sync), Config 레포가 SSoT

📄 문서

문서 위치
기획안 프로젝트2_3팀[기획안]
아키텍처 설계서 프로젝트2_3팀[아키텍처]
인프라 / 배포 (Terraform, ArgoCD) team3-config 레포
트러블슈팅 / 일일 기록 팀 노션

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages