third - HJ-Rich/2022-MyRSS GitHub Wiki


✅ 3차 데모 요구사항

API 문서화

  • RestDocs와 테스트를 이용해 API 문서를 자동으로 생성하도록 구성
    • build.gradle 에 플러그인 추가 및 태스크 설정 추가
    • Documentation Test 작성
    • build 결과물인 snippet을 조합하는 adoc 작성
    • adoc들을 통합하는 adoc 작성
    • index.html로 문서 제공
image



테스트 전략을 수립하고 자동화 테스트 코드를 추가

  • Github Actions를 이용해 PR Open, Synchronize, Merge, Push 이벤트 발생 시 CI 수행
    • gradle build 기반으로 CI 수행
    • 테스트 수행 결과로 생성되는 xml파일을 통해 테스트 커버리지, 테스트 실패 사항을 PR Checks 코멘트로 자동 등록하도록 구성
    • Slack Notification 라이브러리를 통해 CI 중 빌드 실패 발생 시 Slack 알림 전송
    • 빌드 결과를 SonarQube 서버에 전송하여 PR Decoration 코멘트로 작성해줌
  • Jenkins를 이용한 CD에서도 배포 전 gradle build를 수행하기에 테스트 과정이 포함됨
    • 빌드 실패시 배포되지 않으며, Slack으로 알림 전송하도록 구성
  • Github Actions 를 이용한 CI 테스트 자동화
  • Jacoco with Github Action

디버깅할 수 있는 로그 파일 출력

  • logback 을 이용한 로컬, 개발, 운영 환경별 별도 설정 진행
  • 로컬 설정
    • springframework : INFO 이상
    • com.myrssmanager : DEBUG 이상
    • 출력 위치 : 콘솔
  • 개발 및 운영 설정
    • springframework : INFO 이상
    • com.myrssmanager : INFO 이상 (개발에선 DEBUG 이상)
    • 출력 위치 : 파일 출력
    • 파일 출력 상세 설정 :
      • RollingFileAppender를 이용해 로그 레벨 별 별도 파일로 출력하도록 구성
      • RollingFileAppender를 이용해 날짜별로 구분, 10MB 이상이 될 경우 파일별로도 구분하도록 구성
      • RollingFileAppender를 AsyncAppender 로 감싸서 비동기로 출력하게 하여 성능 향상 노림



실 서버 도메인 연결, HTTPS 적용 + WS + WAS 연결을 통해 443포트로 데모


필수 요구사항 전체 보기



⚠️ **GitHub.com Fallback** ⚠️