Skip to content

프로젝트 관리 및 스프린트 계획을 위한 애자일 기반 이슈 추적 웹 서비스

License

Notifications You must be signed in to change notification settings

AgileHub-DQ/Backend

Repository files navigation



🚀 애자일 기반 이슈 추적 웹 서비스 🚀

애자일은 변화에 빠르게 적응하고 반복적으로 개선하는 프로젝트 관리 방법이에요.
복잡한 설명 없이도, 우리 서비스로 당신의 프로젝트를 더욱 유연하고 효과적으로 관리해 보세요!

서비스 소개

image2 이슈 스프린트 백로그용GIF 타임라인 멤버


🛠️ 기술 스택

백엔드

스크린샷 2024-01-22 오후 11 43 16

인프라

스크린샷 2024-01-22 오후 11 44 27

서비스 요청 흐름도

스크린샷 2024-01-22 오후 11 44 27

CI/CD

스크린샷 2024-01-22 오후 11 44 27

모니터링 구조도

스크린샷 2024-01-22 오후 11 44 27

프로젝트 특징

1. Docker 이미지를 GitHub Actions로 빌드 밎 배포하는 시간 단축 (13분 -> 5분)

배포 하는데 걸리던 시간 13분을 5분으로 줄이기

  • 멀티스테이지 빌드 사용으로 이미지 크기 감소
  • Docker 캐싱을 활용하여 빌드 시간 단축
  • Gradle 빌드 옵션 최적화 (병렬 빌드 사용 및 테스트 제외)
  • 성과
    • 처음에 이미지 빌드 시 총 700MB였던 것이 적용 후 320MB로 줄어들어, 50% 이상의 용량 최적화달성
    • 배포 시간 13분에서 5분으로 단축 (약 62% 감소)

2. GitHub Actions를 활용한 CI/CD 파이프라인 구축 및 보안 문제 해결

self-hosted runners를 활용한 CI/CD 파이프라인 구축
GitHub Actions를 활용한 CI/CD 구축
Jenkins vs GitHub Actions

  • 팀원들의 CI/CD 학습 부담 경감을 위해 GitHub Actions와 Jenkins 비교 및 문서화
  • GitHub Actions의 간편한 워크플로우 구축과 SSH 보안 문제 해결을 위해 self-hosted runners 도입

3. 개발 서버에서 간단한 에러를 신속하게 확인하고 해결

Logback 파일 설정
volume경로 잘못된 설정으로 생긴 로그 추출 못하는 문제 해결
모니터링 구축

[문제점]
개발 서버에서 발생한 간단한 에러조차 신속하게 확인하고 해결하는 데 어려움

[문제 해결을 위한 접근법]

  1. vim nohup.out 실행
  • 로그파일 생성에 예상보다 많은 시간 소요
  • 자주 ssh 세션이 멈추는 문제로 인해 결국 예외가 발생한 부분을 확인하지 못하는 어려움을 겪음
  1. 서버 종료 후 java -jar 명령어로 직접 실행
  • 서버를 종료하고 jar 파일을 직접 실행하여 예외 발생 시 로컬에서 터미널을 통해 바로 확인할 수 있게 해 에러를 해결
  1. 배포를 jar파일에서 docker image로 변경
  • 예외 발생 시 docker logs [컨테이너 ID]를 통해 컨테이너 상태와 로그를 더 쉽게 확인 가능
  • 하지만 이전 에러 기록을 찾는 것이 번거로움
  1. Logback 파일 설정
  • Prod 서버에서 ERROR 로그 레벨 부터 로그파일 생성
  • 로그 파일의 최대 용량과 보존 기간을 매일 최대 50MB, 최대 7일 보존 기간으로 설정
  1. 로키와 그라파나를 이용한 로그 모니터링
  • 스프링 액추에이터를 이용해 로그와 JVM memory 사용률 추출
  • 프로메테우스로 JVM 메모리 사용률 pull 해서 그라파나로 시각화
  • 프롬테일에서 액추에이터에서 추출한 로그내역 로키에 push, 로키는 pull하여 그라파나로 시각화


추가정보

👉 ERD

스크린샷 2024-01-22 오후 11 44 27

👉 로그인 요청 흐름도

스크린샷 2024-01-22 오후 11 44 27

👉 이메일 인증 요청 흐름도

스크린샷 2024-01-22 오후 11 44 27

👉 멤버

BE: 김민상 BE: 최재영 FE: 신승혜 FE: 주원희

About

프로젝트 관리 및 스프린트 계획을 위한 애자일 기반 이슈 추적 웹 서비스

Resources

License

Stars

Watchers

Forks