분류 전체보기

    [DevOps] SpringBoot + GitHub action + Nginx + AWS 배포 - 1

    본 플젝은 스프링부트를 사용했으며 깃헙 액션을 통해 도커허브에 이미지를 푸시하고 ec2에서 이미지를 실행시키는 방식이다. 1. 도커 파일 생성 스프링 프로젝트가 빌드된 jar 파일을 도커 이미지로 생성한 후 이를 이용하기 위한 도커 파일 FROM openjdk:11 # jdk 11 version use EXPOSE 8080 #port: 8080 ARG JAR_FILE=build/libs/*.jar # 빌드 결과물을 JAR_FILE에 저장 COPY ${JAR_FILE} app.jar # 빌드된 파일을 app.jar에 카피 ENTRYPOINT ["java","-jar","-Duser.timezone=Asia/Seoul","-Dspring.profiles.active=dev","/app.jar"] # 생성된 ..

    [DevOps] Github Actions란?

    Github Actions GitHub에서 제공하는 지속적인 통합(CI) 및 지속적인 배포(CD) 서비스 개발자는 GitHub 저장소 내에서 워크플로우(Workflows)를 정의하여 코드 변경 사항을 자동으로 빌드, 테스트, 배포할 수 있다. 다음과 같은 작업을 수행할 수 있다. 자동 빌드 및 테스트: 코드 변경 사항이 발생하면 지정된 빌드 스크립트 또는 명령을 실행하여 애플리케이션을 자동으로 빌드하고 테스트할 수 있다. 지속적인 배포: 애플리케이션을 변경 사항이 있는 경우 자동으로 배포할 수 있습니다. 예를 들어, 서버에 변경 사항을 자동으로 배포하거나 클라우드 서비스에 컨테이너 이미지를 업데이트할 수 있다. 사용자 정의 워크플로우: GitHub Actions는 다양한 이벤트와 작업을 트리거로 사용자 ..

    [Redis] Redis란?

    Redis 오픈 소스 인메모리 데이터 구조 저장소 다양한 데이터 구조 및 크게 String, Set, Sorted Set, Hash, List 등의 데이터 형식을 지원하며 메모리에 데이터를 저장하여 빠른 데이터 액세스를 제공한다. 키-값(key-value) 쌍으로 데이터를 저장하며, 다양한 데이터 유형을 처리할 수 있다. 특징 인메모리 데이터 저장: 메모리에 저장하므로 매우 빠른 읽기 및 쓰기 성능 제공, 이는 데이터베이스나 캐시 솔루션으로서 많은 요청과 빠른 응답이 필요한 경우에 유용 다양한 데이터 유형 지원: 단순한 문자열, 리스트, 해시, 세트, 정렬된 세트 등 다양한 데이터 유형 지원, 이를 통해 다양한 데이터 구조를 효율적으로 저장하고 처리 가능 영속성: 디스크에 데이터를 저장할 수도 있어 서버..

    [Nginx] Nginx란?

    NGINX란? 고성능 웹 서버 소프트웨어로, HTTP, HTTPS, TCP 및 UDP 프로토콜을 지원하며, 프록시 서버, 로드 밸런서, 역방향 프록시 및 HTTP 캐시 역할을 수행하는 데 사용된다. 특징 고성능: 비동기 이벤트 기반 아키텍처를 사용하여 많은 동시 연결을 처리할 수 있고, 높은 처리량과 저지연 제공 경량화: 적은 시스템 리소스를 사용하며, 메모리 사용량이 작아 효율적인 운영 가능 확장성: 확장성이 뛰어나며, 프록시 서버나 로드 밸런서로 사용될 때 여러 대의 웹 서버를 효과적으로 관리할 수 있습니다. 리버스 프록시: 역방향 프록시 서버로 사용될 수 있어 클라이언트 요청을 웹 서버로 전달하고 응답을 반환하는 역할 수행 가능 로드 밸런싱: 로드 밸런서로 사용될 수 있어 들어오는 트래픽을 여러 대..

    [Docker] 도커 컴포즈란?

    1. 도커 컴포즈란? compose 란 복수 개의 컨테이너를 실행시키는 도커 애플리케이션을 정의하기 위한 툴이다. .yaml 파일을 상용하여 애플리케이션의 서비스를 구성할 수 있다. 예를 들어 서비스가 실행되기 위해서는 웹서버(Nginx, Apache)와 데이터베이스(mysql.. 등) 컨테이너를 생성해야 한다. 이때 도커로 실행하려면 매번 run 옵션을 적용하여 컨테이너를 생성해야 하는데, 도커 컴포즈는 여러 컨테이너를 하나의 서비스로 묶어 다룰 수 있는 환경을 제공한다. version: "3" services: #container_name echo: # docker_image image: example/echo:latest ports: - 9000:8080 docker-compose.yaml은 위와 ..