9oormthonUNIV 스터디 프로젝트 4

Jenkins + Docker를 활용한 기본 CI/CD 파이프라인 구축

Jenkins와 Docker를 활용하여 CI/CD 파이프라인을 구축하는 과정을 공부했다. 사용되는 것1) 두개의 EC2서버JenkinsSpring 서버2) github webhook 3) jenkins-pipline 4) jenkinsFile 5) docker-compose CI/CD 흐름 1. GitHub에서 코드 푸시 GitHub Webhook → Jenkins로 알림 2. Jenkins Pipeline 실행 (CI 단계) Docker Image 빌드빌드된 이미지를 Docker Hub 저장소에 업로드DooD방식 사용3. Spring EC2 서버로 배포 (CD 단계)EC2에 SSH 접속하여 최신 이미지로 컨테이너 재배포 구현 방법 1. jenkinsfile 생성pipeline { agent any..

Spring Boot + Kafka + Docker로 비동기 메시징 구현하기

카프카(Kafka)란?카프카(Kafka)는 파이프라인, 스트리밍 분석, 데이터 통합 및 미션 크리티컬 애플리케이션을 위해 설계된 고성능 분산 이벤트 스트리밍 플랫폼이다. Kafka 구성요소 Producer : Kafka에 이벤트를 Publish(게시)하는 클라이언트, topic에 데이터를 생성하고 전송하는 역할Consumer : 이벤트를 Subscribe(읽고 처리)하는 클라이언트, topic내부 파티션에 저장된 데이터를 가져오는 역할 Kafka에서는 Producer와 Consumer가 완전히 분리되어 있다.이는 Kafka의 높은 확장성을 위한 핵심 요소이다. Topic : 데이터가 들어갈 수 있는 공간을 이야기하며, 여러 개의 토픽이 생성될 수 있다.topic은 한개 이상의 파티션으로 구성되어 ..

Spring Boot 프로젝트를 AWS EC2에 Docker로 배포하기

1. 스프링 부트 프로젝트에 Dockerfile 생성 FROM openjdk:21-jdk-slim# JAR 파일 이름을 인자로 받음ARG JAR_FILE=build/libs/OAuth2_9oormthonUNIV-0.0.1-SNAPSHOT.jar# 컨테이너 내부에 app.jar로 복사COPY ${JAR_FILE} app.jar# 8080 포트 개방EXPOSE 8080# Spring Boot 실행ENTRYPOINT ["java", "-jar", "app.jar"] Dockerfile을 통해 Spring Boot 애플리케이션을 실행할 수 있는 Docker 이미지를 생성한다.🎯 이미지는 컨테이너를 실행하기 위한 실행 환경과 애플리케이션 코드, 필요한 설정, 의존성, 라이브러리 등을 모두 포함한 "설계도" 라고..

S3를 이용한 이미지 관리[SpringBoot]

프로젝트 구현 목표1. 제목, 내용, 이미지를 첨부하여 게시글 작성(Create) API 구현2. DB에는 제목, 내용, 이미지 URL 저장 3. 이미지는 S3에 저장 S3 버킷 생성 방법 관련 글 AWS S3 활용한 파일 및 이미지 업로드S3란 무엇인가?S3는 AWS에서 제공하는 '클라우드 스토리지 서비스'이다. 쉽게 말하면 AWS에서 제공하는 파일 저장 서비스이다. S3의 사용 용도이미지나 동영상 저장 및 제공정적 웹사이트 호스팅CDdeveloperwoohyeon.tistory.com Post 엔티티 생성@Entity@Data@Builder@AllArgsConstructor@NoArgsConstructorpublic class Post { @Id @GeneratedValue(str..