container7 Private Docker Registre 구축 클라우드 서비스를 사용하지 않고 폐쇄 환경에서 CI/CD를 구축 하고 있습니다. Gitlap, Jenkins 파이프라인을 통해 CI 지속적인 통합 환경을 구축하였고 Docker Registry, Jenkins 파이프라인을 통해 CD환경을 구축하였습니다.그 중 오늘 소개할 방법은 Docker에서 공식적으로 제공하는 registry 이미지를 통해 프라이빗한 Docker image 저장소를 구축하는 방법입니다. 말이 뭔가 도돌이표인것같은 느낌이지만 Docker 환경에 Docker Image를 저장할 수 있는 Docker Registry 컨테이너를 띄워서 폐쇄환경에서 도커 이미지저장소를 구현해보겠습니다. Authentication// 아래 환경은 리눅스 Shell환경에서 진행이 됩니다.// 일단 간단하게 보안설.. 2025. 1. 8. 섹션 4-10 [독립 실행형 스프링 애플리케이션] Bean 생명주기 메소드 Bean생명주기 메소드지금까지 우리는 비즈니스를 처리하기 위해 HelloController, HelloService를 Bean으로 등록하고 관리하였습니다 그러나 이외 추가적으로 오브젝트를 새로 생성하는 게 두가지 정도가 있습니다. TomcatServletWebServerFactory, DispatcherServlet 입니다. Standart Alone애플리케이션을 만들기 위해서 보이지 않는곳에서 일을 해주는 오브젝트를 만들어야 해서 직접 코드로 생성을 했는데 이러한 오브젝트들도 Spring Bean으로 등록하여 관리될 수 있도록 코드를 수정하려고 합니다. TobyspringbootApplication.classpackage com.tobyspring.tobyspringboot; import or.. 2024. 6. 1. 섹션 4-7 [독립 실행형 스프링 애플리케이션] 스프링 컨테이너로 통합 스프링 컨테이너로 통합지금까지 만든 코드는 SpringContainer를 생성하고 Bean을 등록해서 초기화하는 작업을 해주는 SpringContainer작업 파트와 SpringContiner를 활용하면서 SubletContainer를 코드에서 생성하고 FrontController역할을 하는 DispatcherSublet을 등록하는 SubletContainer초기화 코드로 구분되어 질 수 있습니다.이제는 이러한 작업을 하나로 통합하는 과정을 통해 SubletContainer를 만들고 Sublet을 초기화하는등의 작업을 SpringContiner가 초기화 되는 과정중에 일어나도록 코드를 수정해보도록 하겠습니다. /* Spring Container 구현, DispatcherServlet을 사용하기 .. 2024. 6. 1. 섹션 4-4 [독립 실행형 스프링 애플리케이션] 의존 오브젝트 DI 적용 의존 오브젝트 DI 적용현재까지 구성한 코드는 HelloController가 SimpleHelloService라는 클래스의 오브젝트를 직접 생성해서 사용하는 방식이였는데 직접 생성해서 사용하는 방식이 아닌 Sprinb Bean으로 등록하고 Spring Container가 Assembler로서 Dependency Injection 즉 SimpleHelloService bean오브젝트를 HelloController가 사용할 수 있도록 주입해주도록 구현해보겠습니다. 기존 코드HelloController.classpackage com.tobyspring.tobyspringboot; import java.util.Objects; public class HelloController { pu.. 2024. 6. 1. 섹션 4-3 [독립 실행형 스프링 애플리케이션] 의존성 역전 의존성 역전 Dependency Injection ( Spring IoC / DI Container )의존관계란 무엇인가? HelloController는 SimpleHelloService 클래스가 변경되면 영향을 받습니다. 기능이 변경된다던지 메소드가 변경된다던지 할 경우 또는 다른 종류의 클래스 변경되면 HelloController는 영향을 받습니다. 런타임시에 동작하는 기능상에 영향을 주기도 하고 어떤 경우는 소스코드를 고쳐야지만 컴파일되고 동작할 수 있는 정도의 수준의 영향을 받기도 합니다.HelloController가 뭔가 다른 클래스 다른 오브젝트 기능을 사용하게 되면 헬로 컨트롤러는 그 클래스에 의존하고 있다. 이야기할 수 있습니다. 다만 의존관계의 문제점은 HelloController는 Si.. 2024. 6. 1. 섹션 4-2 [독립 실행형 스프링 애플리케이션] 의존 오브젝트 추가 의존 오브젝트 추가스프링 컨테이너는 어떤 타입의 오브젝트를 만들때 딱 한번만 생성합니다. 스프링 컨테이너가 가지고 있는 오브젝트를 필요로 하는 여러 오브젝트들이 있을 수 있는데 스프링 컨테이너에 어떤 타입의 빈을 요청할때마다 새로운 오브젝트를 만들어서 제공하는게 아니라 초기에 생성해둔 오브젝트 단하나를 계속해서 제공하여 재사용할 수 있게 합니다. 스프링 컨테이너는 싱글턴 패턴을 사용한 것과 유사하게 어떤 타입의 오브젝트를 딱 한번만 만들어두고 이 오브젝트를 계속 재상용할 수 있게 해주는 기능을 제공합니다. 그래서 스프링 컨테이너를 싱글톤 레지스트리라고도 부릅니다. 이제 HelloController의 책임을 줄여보도록 하겠습니다. HelloController는 클라이언트의 요청만 검증하고 비즈니스 로직은 .. 2024. 6. 1. 이전 1 2 다음