• [Spring/Project] 스프링부트 logback 설정하기

    What is logback? SLF4J의 native 구현체. 왜 SLF4J를 함께 사용해야 하는지에 대한 내용은 참조의 글을, 이 원리에 대한 내용은 참조의 글을 추천드립니다. logback-core, hogback-classic, logback-access의 모듈로 구성 Maven dependency <dependency> <groupId>net.rakugakibox.spring.boot</groupId> <artifactId>logback-access-spring-boot-starter</artifactId> <version>2.7.1</version> <scope>runtime</scope> </dependency> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.7</version> </dependency> </dependencies> logback 설정파일 설정파일의 위치 및 종류 src/main/resources/ 아래에...


  • [Spring/Project] nginx로 무중단 배포 세팅하기

    개요 개발환경 : ubuntu , spring boot, maven 지금 CI(Continuous Integration) 환경 구축까지 완료하였다. 이제 nginx를 사용하여한 무중단 배포를 구현하도록 하자. 무중단 배포에 관한 내용은 jojoldu님의 Nginx를 활용한 무중단 배포 구축하기글을 참조해가며 구축하겠습니다. 무중단 배포란? 기존 CI까지 구축한 내용은 배포하는 시간동안 새로운 Jar실행 전까지 기존 Jar을 종료시켜 놓기때문에 서비스가 되지...


  • [Spring/Project] Jenkins : 배포 자동화

    개요 현재 서버 환경구축과, Jenkins를 활용하여 테스트, 빌드 자동화까지 설정하였다. 이제 배포 자동화를 구현하여 로컬에서 github로 push한 내용이 자동으로 배포 서버로 적용되는 CI환경과, nginx를 이용한 무중단 배포를 구현하도록 하자. Jenkins 자동배포 설정 로컬 어플리케이션 설정 pom.xml <groupId>com.pushstone</groupId> <artifactId>DailyNotificationServer</artifactId> <version>0.0.2-SNAPSHOT</version> <name>DailyNotificationServer</name> <packaging>jar</packaging> <description>Demo project for Spring Boot</description> ... <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>...


  • [Spring/Project] 서버환경 세팅

    개요 서버환경 : Ubuntu (bionic 18.04) Docker 설치 Docker CE vs Docker EE 전자는 개인이나 소규모 팀이 컨테이너 기반의 앱들을 실험할 수 있는 버젼으로 무료입니다. 후자는 엔터프라이즈급의 개발을 하는 용도로 설계된 버젼으로 유료입니다. 이 글에선 CE(Community Edition)을 사용합니다. 도커를 설치하는 3가지 방법 도커 CE를 설치하는 방법은 여러가지가 있고, 각 블로그마다...


  • [Spring/Project] Annotationed Parameter가 있는 Controller에 대한 단위테스트 작성법

    이전 Controller 단위테스트 코드와 설명 2 글에서 통합테스트가 아닌 Controller에 대한 단위테스트로 방향을 전환한후 후, 어떻게 어노테이션이 달린 파라미터가 있는 컨트롤러 메서드에 대한 테스트를 작성할 것인지에 대한 방법을 적은 글입니다. 개요 // ApiMenuCategoryController @PostMapping("") public ResponseEntity<MenuCategory> create(@ManagerAccount Account manager, @RequestBody MenuCategoryDTO menuCategoryDTO) { MenuCategory createdCategory = menuCategoryService.create(menuCategoryDTO); return makeCreatedResponseEntity(createdCategory); }...