Github Actions + AWS Elastic Beanstalk으로 Springboot 어플리케이션 CI/CD 파이프라인 구축하기 CI/CD 툴인 Github Actions와 웹 애플리케이션 개발/배포/관리를 완전관리형(PaaS) 서비스 AWS Elastic Beanstalk을 사용합니다. 컨테이너 환경에서 Springboot 어플리케이션을 자동으로 빌드, 테스트, 배포하기 위한 CI/CD 파이프라인을 구축해보겠습니다. 왜 Docker 컨테이너 환경에서 Springboot 어플리케이션을 실행해야 할까 Springboot 어플리케이션을 컨테이너 환경에서 배포하려면 운영 체제와 라이브러리, 실행 환경 등 모든 요구 사항을 수동으로 설치 및 구성해야 합니다. 이 작업은 어플리케이션을 여러 환경에서 실행할 때 일관성을 유지하기 어렵고, 매우 복잡하고 시간이 많이 소요됩니다. Dockerfile을 사용하면 Springboot 어플리케이션의 .. CI/CD CI/CD란 CI/CD는 Continuous Integration / Continuous Delivery 또는 Continuous Deployment의 약자입니다. 이는 소프트웨어 개발 프로세스에서 사용되는 접근 방식입니다. Continuous Integration (CI)는 코드 변경 사항이 자동으로 빌드 및 테스트되고, 통합되는 것을 의미합니다. 이를 통해 팀은 코드 품질을 높이고 빠른 시간 내에 버그를 해결할 수 있습니다. Continuous Delivery (CD)는 소프트웨어가 자동으로 배포되는 것을 의미합니다. 이는 코드 변경 사항이 테스트 후에 자동으로 승인 및 배포되는 것을 의미합니다. Continuous Deployment는 Continuous Delivery와 유사하지만, 자동 배포를 .. 제어의 역전(IoC)과 의존관계 주입(DI) DI(Dependency Injection)란 의존관계 주입 객체를 직접 생성하는 것이 아닌, 외부에서 생성한 후 주입시켜주는 방식 정확히 말하자면, 객체는 다른 객체에 주입할 수 없음 객체 레퍼런스를 외부로부터 제공(주입)받고 이를 통해 여타 객체와 다이내믹하게 의존관계가 만들어지는 것이 핵심 DI는 자신이 사용할 오브젝트에 대한 선택과 생성 제어권을 외부로 넘기고 자신은 수동적으로 주입받은 오브젝트를 사용한다는 점에서 IoC의 개념에 잘 들어맞음 의존관계란 의존관계에는 항상 방향성이 있어야 함 A가 B에 의존하고 있다면, 반대로 B는 A에 의존하지 않음 UserDao 오브젝트에 의존관계 주입 예시 : UserDao 오브젝트는 생성자를 통해 주입받은 ConnectionMaker 오브젝트를 언제든지 사용.. 이전 1 다음