나만의 Swagger UI 서버, 쿠버네티스에서 운영하기
·
Infra
Swagger UI에서 여러 서비스에 대한 문서를 효율적으로 관리하려면, 문서 파일의 저장소와 접근 방식에 대한 고민이 필요하다. 이 글에서는 Swagger UI를 쿠버네티스 환경에서 구성하는 방법과, Object Storage를 활용해 Swagger 문서를 제공하는 방법을 다룬다. 이를 통해 자동화된 문서 관리, 안정적인 시스템 구축을 목표로 한다. 또한, Swagger UI를 조직의 필요에 맞게 커스터마이징하여 제공하는 방법도 함께 살펴볼 것이다. 1. Swagger UI1-1. Swagger UI란?Swagger UI는 swagger-api Organization의 핵심 프로젝트이다. 사용자에게 직관적인 UI를 제공하여 API 제공자와 사용자 간의 협업에 큰 도움을 주는 툴이다. Organizati..
SonarQube로 코드 품질 관리하기 (feat. gitlab, jenkins, docker)
·
Infra
1. SonarQube란?SonarQube는 정적 분석 도구 중 하나로 20가지 이상의 언어와 프레임워크를 지원한다. 코드 품질을 관리하기사람이 코드를 작성하거나, 코드 리뷰를 할 때 놓치기 쉬운 기본적인 실수들을 하지 않게 도와준다. PullRequest와 연동하면 분석 결과를 리뷰도 달아주기까지 한다. 1-1. 어떤 것을 우리에게 제공해주는가?SonarQube를 활용하면 문제에 대한 분석을 자동화할 수 있다. 아래와 같은 지표를 한 눈에 파악할 수 있다.Code Smell: 변경 가능성, 모듈성, 이해가능성, 테스트 용의성, 재사용성 등을 분석버그: 잠재적인 버그. 런타임에 예상되는 동작을 하지 않는 코드취약점: 해커들에게 잠재적 약점이 될 수 있는 보안상 이슈. (ex. SQL Injection, ..
[AWS] Free Tier EC2 인스턴스 생성하는 법
·
Infra/AWS
1. 프리 티어(Free Tier)?AWS는 신규 고객에게 1년간 Free Tier라는 명목으로 무료 서비스를 제공한다.덕분에 AWS의 제품들을 부담없이 사용해볼 수 있다.1-1. 사용량 제한하지만 위에 표시된 것처럼 사용량 제한이 있으며, 그 이상을 사용하게 되면 비용을 청구한다.예를 들어 EC2 서버 하나를 사용하면 750시간(31.25일)을 사용할 수 있으므로 한 달을 무료로 사용할 수 있지만 EC2 인스턴스를 2개 사용하면 각각 375시간 사용할 수 있으므로 한 달을 꼬박 사용하면 1500시간을 사용하는 것이므로 750시간에 대한 비용이 청구되는 것이다.또한 EC2의 스펙 또한 t2.micro(t2.micro를 사용할 수 없는 Region은 t3.micro로 대체 가능)으로 제한된다.t3가 최신 ..
[Jenkins] Jenkins에 Jacoco 연동하기 (Spring 환경)
·
Infra/Jenkins
정적 분석 툴인 Jacoco를 CI/CD 과정에서 활용할 수 있습니다. 만약 Jenkins를 사용한다면 Jenkins 플러그인을 설치하고 간단한 스크립트만 작성하면 됩니다. Spring 애플리케이션 Jacoco 설정블로그 글 링크: https://myvelop.tistory.com/215 Jacoco 설정하기 (build.gradle & .kts)Jacoco 자바코드의 커버리지를 체크할 때 사용하는 오픈소스 라이브러리이다. CI/CD와 연계해 테스트 커버리지를 충분히 채우지 못하면 배포가 되지 못하게 하는 등 구성원들에게 테스트 코드를myvelop.tistory.com 위 링크를 참고하면 Spring Application에서 Jacoco를 설정하는데 도움이 될 것입니다.참고로 Jenkins에서는 Jaco..
도커 환경에서 SSL 인증서 발급받기 - (부제: HTTPS 설정하는 법)
·
Infra/Docker
SSL/TLS? HTTPS란? SSL/TLS SSL(Secure Sockets Layer) TLS(Transport Layer Security) - SSL의 후계자이다. SSL/TLS는 브라우저와 서버가 통신할 때 암호화를 지원하는 보안 프로토콜이다. SSL 인증서 (일컬어 TLS 또는 SSL /TLS 인증서)는 웹 사이트의 ID를 공개 키와 개인 키로 구성된 암호화 키 쌍에 바인딩하는 디지털 문서이다. 사용자는 인증서에 포함된 공개 키를 사용해 데이터를 암호화하여 전송할 수 있고, 서버는 안전하게 보관되어있는 개인 키를 사용자의 데이터를 복호할 때나 웹 페이지 및 기타 문서를 디지털 서명하는 데 사용할 수 있다. SSL 인증서의 역할은 두 가지이다. 클라이언트가 접속한 서버가 신뢰 할 수 있는 서버임을..