cs 16

[CI/CD] Jar 파일 생성 및 실행, Jar 파일 도커 컨테이너 실행, 도커 컴포즈 컨테이너 실행까지

Jar 파일 생성 실행 application.yml 추가 spring: # jar 파일 만들때 템플릿 경로 지정 thymeleaf: prefix: classpath:/templates/ suffix: .html build.gradle 추가 // jar 파일 만들 때 여러 번 실행하니 중복되어서 코드 추가 bootJar { duplicatesStrategy = 'exclude' } Gradle에서 build-bootJar 더블 클릭하면 Jar 파일 생성 완료 생성된 Jar 파일 Run하고 애플리케이션 확인 만약 jar 삭제하고 다시 생성하고 싶을 땐 터미널에 “.\gradlew clean” 입력 후 재 생성 하기! 주의할 점 jar 파일 실행 에러(templates을 못 찾을 때) controller와 h..

[CI/CD] Docker Compose란

Docker Compose Docker Compose 도커 컴포즈란 단일 서버에서 여러 개의 컨테이너를 하나의 서비스로 정의해서 컨테이너 묶음으로 관리할 수 있는 작업 환경을 제공하는 도구 예로 웹 컨테이너와 데이터베이스 컨테이너와 레디스 컨테이너를 생성해야 할 때 하나의 서비스로 묶어서 사용 Docker Compose 사용 Dockerfile을 작성한다. docker-compose.yml을 작성한다. (각각 독립된 컨테이너의 실행 정의) docker-compose up 명령어를 실행하여 docker-compose.yml 파일로 정의된 컨테이너 개시

[CI/CD] Docker, Dockerfile, Docker Image, Docker Container란

Docker Docker 리눅스 컨테이너를 생성 및 실행을 위한 컨테이너 기술 컨테이너란 애플리케이션 소스 코드와 이 코드를 임의의 환경에서 실행하는 데 필요한 운영체제 라이브러리 및 종속 항목을 조합한 것 애플리케이션을 클라우드 배포할 때 사용 Jar 파일, 도커 파일로 배포 Dockerfile 도커 이미지를 생성하기 위한 스크립트 파일 여러 명령어로 도커 파일을 작성한 후 build하면 도커가 해당 명령어를 수행하여 도커 이미지를 생성해준다. docker build 명령어 실행하면 도커 이미지 생성 Docker Image 도커 컨테이너 생성할 때 필요한 요소, 필요한 파일과 설정값을 포함하고 있다. 도커 허브에서 도커 이미지를 등록하고 내려받을 수 있는 환경을 제공한다. (재사용 및 공유 가능) 도커..

[CI/CD] AWS Elastic Beanstalk이란

AWS Elastic Beanstalk AWS Elastic Beanstalk 애플리케이션을 간편하게 배포하고 조정할 수 있는 서비스 Jar 파일이나 전체 코드와 도커 파일, 도커 컴포즈 파일을 업로드하면 용량 프로비저닝, 로드 밸런싱, 오토 스케일링, 애플리케이션 상태 모니터링, 배포를 자동으로 처리하도록 구성할 수 있다. 배포 완료 후에도 리소스를 쉽게 제어할 수 있고, 이전 리소스에 액세스할 수 있다. 로드 밸런싱 애플리케이션을 지원하는 리소스 전체에 네트워크 트래픽을 균등하게 배포하는 방법 오토 스케일링 컴퓨터 리소스 측면에서 시스템이 자동으로 규모를 조절하는 기능

[CI/CD] AWS S3, IAM, EC2, CodeDeploy란

AWS S3 AWS S3 AWS S3는 파일 저장 서버 역할을 한다. 예를 들어 github action에서 build한 결과를 저장해 놓는다. AWS에서 기본적으로 접근 미허용이기 때문에 IAM에서 접근 권한을 획득해야 한다. AWS IAM AWS의 권한 제어 관리 서비스 AWS S3 접근 권한 제어 방법 AWS IAM- 사용자 추가- 액세스 유형(프로그래밍 방식 액세스)- 권한 설정(기존 정책 직접 연결)- AmazonS3FullAccess와 AWSCodeDeployFullAccess 활성화 ACEESSKEY, SECRETKEY 발급 시 다른 곳에 적어두기 AWS S3 Bucket 설정 AWS S3- 버킷 만들기- 3단계 권한 설정에서 모든 퍼블릭 액세스 차단만 체크 Github 설정 Github 레..

[CI/CD] CI/CD란, CD 기본 구축

CI/CD 란 CI (Continuous Integration) 지속적인 통합이라는 의미 어플리케이션의 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 레포지토리에 통합하는 것을 의미 CI가 필요한 환경 여러 개발자가 형상관리 툴(Git)을 공유하여 사용하는 환경 자동화된 필드 및 테스트 MSA(Micro Service Architecture) 환경 MSA는 작은 기능 별로 서비스를 잘개 쪼개어 개발하는 형태 애자일 방법론 적용 기능 충돌 방지 CD (Continuous Delivery, Continuous Deployment) 지속적인 서비스 제공, 지속적인 배포라는 의미 개발자의 변경 사항이 고객의 프로덕션 환경까지 release 되는 것을 의미 (자동화) Continuous Delivery는 ..

728x90