본문 바로가기

spring boot3

jenkins github docker 자동 배포 CI/CD HTML 삽입 미리보기할 수 없는 소스 1. 자동 배포를 위한 환경 및 도구와 흐름 1-1. 환경 구성 Ubuntu Jenkins Docker Git hub Spring boot Gradle 1-2. 전체적인 흐름 로컬 개발 환경에서 Git hub로 push를 날린다. 젠킨스와 git hub를 연동하여 push 이벤트 발생을 감지하여 코드를 받아와 빌드를 한다(jar파일 생성). mysql 이미지는 미리 docker-hub에 업로드 후 변경하지 않고 사용한다. 젠킨스는 막 생성한 jar 파일과 Docker file을 토대로 이미지를 생성한 뒤 docker-hub에 푸쉬한다. 개발 서버에서 docker hub에 올라온 이미지를 가져온다. 이미지를 통해 컨테이너를 실행한다. Jenkins가 1번을 제외한 위.. 2023. 9. 5.
[스프링부트] junit 테스트 코드(5/5) - 예외 테스트 HTML 삽입 미리보기할 수 없는 소스 1. 예외 테스트란 실제 코드를 작성할 때 개발자는 예외처리를 하게 된다. 그에 따라 테스트코드를 작성할 때 예외 처리가 개발자가 의도한대로 동작하는지에 대해서도 테스트 코드를 통한 검증이 필요하다. 2. 예외 테스트 작성 방법 Service코드 /** * 게시판 생성 * @param boardCreateDto */ public Board createBoard(BoardCreateDto boardCreateDto) { // memberNo를 통해 회원 엔티티 조회 => 조회 결과가 없다면 예외 Member findMember = memberRepository.findById(boardCreateDto.getMemberNo()).orElseThrow(() -> new.. 2023. 8. 8.
junit 테스트 코드(3/5) - 단위 테스트(RepositoryLayer) HTML 삽입 미리보기할 수 없는 소스 1. Repository 계층의 단위 테스트 역할 Repository 계층의 단위 테스트의 역할은 매우 간단하다. Service 계층의 테스트 처럼 Mock 객체를 사용할 필요 없이 Repository를 의존 주입 받아 호출 하고 예상한 결과가 도출 되는지만 확인하면 끝이다. 2. Repository 단위 테스트의 의존 주입 Repository 테스트에서는 JpaRepository를 상속받아 그 안의 메서드를 사용하기 때문에 어찌 되었든 의존주입을 받아야만 한다. 하지만 앞서 설명했듯 단위 테스트에서는 Spring 컨테이너를 사용하면 안된다. 그렇기 때문에 다른 방법을 통해 Repository 객체를 의존 주입 받아 그 안의 함수를 호출해야한다. 위의 문제를 해결하.. 2023. 7. 31.