본문 바로가기

우리 FISA5

우리FISA 클라우드 서비스 개발 - Spring Boot 어플리케이션에서 RDS MySQL 이중화 DB Replication 읽기 부하분산과 데이터 백업을 위해 데이터베이스 이중화를 진행했다. 개발환경은 아래와 같다. Spring boot 2.7.14 MySQL 8.0.33 (RDS) Spring Data JPA RDS 설정 현재는 이미 복제가 완료 되었지만, 손쉽게 진행할 수 있다. 버튼 하나만 누르면 Master DB와 DB 계정과 데이터부터 보안그룹까지 똑같은 환경으로 복제된다. Master DB는 쓰기와 수정 전용, 복제본은 읽기 전용으로 활용한다. Spring application.yml 수정 spring: datasource: master: hikari: driverClassName: com.mysql.cj.jdbc.Driver jdbcUrl: jdbc:mysql://{master db u.. 2023. 8. 29.
우리FISA 클라우드 서비스 개발 - 프로젝트 시작 전 CI/CD 파이프라인 만들기 Jenkins & docker CI/CD 파이프라인 지난 포스팅에서는 docker 위에서 실행되는 Jenkins를 활용해서 Spring Boot 애플리케이션을 배포했다. 이번에는 Jenkins환경은 같지만, Docker에서 실행되는 Spring Boot 어플리케이션에 대해서 CI/CD 파이프라인을 구축해 보겠다. EC2 서버에 Docker 설치 Docker sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/ap.. 2023. 8. 20.
우리FISA 클라우드 서비스 개발 - 프로젝트 시작과 프로젝트 산출물 프로젝트 시작 기획 프로젝트가 본격적으로 시작되었다. 개발을 시작하기 앞서 각종 기획과 문서가 우리 팀을 가로막았다. 요구되는 산출물도 주에 3~4가지씩 되다 보니 꽤나 큰 부담이었다. 마침 월요일 화요일에 우리의 기획을 돕고자 Design Thinking에 대해 잠시나마 알 수 있는 시간을 가졌다. 처음에는 별 기대 안했지만, 오히려 팀 빌딩이 되고 바로 했으면 더 좋았을 것이라는 생각이 들 정도로 도움이 많이 되었다. 공감이 무엇인지 여러 사람들과 토론 후 강사님이 내린 결론이다. 서비스를 기획하는 과정에서 사용자를 생각해서 더 좋은 서비스를 생각해 보자는 취지였다. 하지만 기획과 개발뿐만 아니라 평소에도 중요한 요소인 것 같다. 문서화 요구되는 문서는 요구사항 정의서 비즈니스 프로세스모델 WBS (.. 2023. 8. 13.
우리FISA 클라우드 서비스 개발 - Spring Framework에서 테스트 프로젝트 요구사항에 단위 테스트에 대한 요구사항이 있었다. 오늘 팀원들과 함께 스프링 부트로 만든 게시판 예제를 활용해서 단위테스트를 정리해 봤다. 스프링의 비즈니스 로직은 크게 Controller, Service, Repository에 존재하기 때문에 이 세 가지에 대한 단위 테스트를 정리하려고 한다. 테스트 환경 Java 11 Spring boot 2.7.13 Spring Data JPA JUnit 5.8.2 H2 2.1.214 Repository 우리 팀은 JPA를 사용할 예정이기 때문에 @DataJpaTest를 사용해서 테스트를 하려고 한다. 아직 복잡한 비즈니스로직이 없기 때문에 간단하게 하겠다. import static org.assertj.core.api.Assertions.*; import.. 2023. 8. 6.