반응형 SMALL 분류 전체보기120 로그 관리(Logback, Log4j2) 1. 로그 프레임워크 개요 프레임워크 설명 LogbackSpring Boot의 기본 로깅 시스템 (SLF4J 연동)Log4j2고성능 로그 시스템, 필요 시 직접 설정 필요SLF4J표준 로깅 추상화 (Logback, Log4j2 둘 다 사용 가능)2. 기본 로그 구조 (Logback)application.propertieslogging.level.root=INFOlogging.level.com.example=DEBUGlogging.file.name=app.loglogging.pattern.console=%d{HH:mm:ss} %-5level %logger{36} - %msg%n위 설정만으로도 app.log 파일 생성, 콘솔 출력 포맷 변경 가능3. Logback 커스텀 설정 (logback-spring.x.. 2025. 4. 16. CI/CD (GitHub Actions, Jenkins) CI/CD란? 단계 설명 CI (Continuous Integration)코드 푸시마다 자동 빌드/테스트CD (Continuous Deployment)테스트 통과 시 자동 배포까지 실행1. GitHub Actions로 CI/CD 구현.github/workflows/deploy.ymlname: Spring Boot CI/CDon: push: branches: [ "main" ]jobs: build-deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Set up JDK uses: actions/setup-java@v3 with:.. 2025. 4. 16. AWS EC2에 배포하기 1. EC2 인스턴스 생성AWS 콘솔에서 EC2 생성AWS 콘솔 접속 https://aws.amazon.com/EC2 대시보드 → 인스턴스 시작Amazon Linux 2 / Ubuntu 22.04 LTS 선택 (둘 다 OK)인스턴스 유형: t2.micro (무료 티어)키 페어 생성 또는 기존 키 선택보안 그룹 설정:인바운드 규칙에 SSH(22), HTTP(80), 혹은 필요 시 8080 포트 열기인스턴스 시작키 페어(.pem 파일)는 꼭 백업하세요! 나중에 SSH 접속 시 필요합니다.2. EC2에 SSH 접속chmod 400 your-key.pemssh -i "your-key.pem" ec2-user@ OS 계정명 Amazon Linuxec2-userUbuntuubuntu3. 필수 소프트웨어 설치# Ja.. 2025. 4. 16. Spring Boot 패키징(JAR, WAR) Spring Boot 패키징 방식 비교 항목 JAR WAR 실행 방식java -jarWAS(Tomcat 등)에 배포내장 서버포함 (톰캣, 제티 등)외부 WAS 필요설정 복잡도단순복잡배포 대상클라우드, 도커, 독립 서버전통적인 WAS 서버스프링 부트 기본값JAR선택적 지원1. JAR 패키징 방식 (기본)설정 (build.gradle)plugins { id 'org.springframework.boot' version '3.2.0' id 'io.spring.dependency-management' version '1.1.0' id 'java'}bootJar { archiveFileName = 'myapp.jar'}실행./gradlew bootJarjava -jar build/libs/m.. 2025. 4. 15. 테스트 데이터 준비 (@Sql, Testcontainers) 1. @Sql – SQL 스크립트로 테스트 데이터 삽입사용 목적테스트 실행 전후에 SQL 스크립트를 실행테스트용 데이터셋을 빠르게 구축 가능사용 예제@SpringBootTest@Sql(scripts = "/test-data.sql", executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD)class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test void 회원조회_테스트() { Member member = memberRepository.findByEmail("test@example.com").orElseThrow(); assertE.. 2025. 4. 15. 통합 테스트 (@SpringBootTest) @SpringBootTest란?정의@SpringBootTest는 실제 애플리케이션처럼 전체 스프링 컨텍스트를 로딩해서서비스, 컨트롤러, 리포지토리, 보안 설정 등 모든 빈을 대상으로 테스트할 수 있도록 해주는 어노테이션입니다.즉, **"실제 실행 환경과 거의 동일한 조건"**에서 테스트할 수 있어,기능 검증과 버그 예방에 매우 유용합니다.기본 사용 예@SpringBootTest@Transactionalclass MemberIntegrationTest { @Autowired private MemberService memberService; @Autowired private MemberRepository memberRepository; @Test void 회원가입_성공_테스트.. 2025. 4. 15. 이전 1 ··· 5 6 7 8 9 10 11 ··· 20 다음 LIST