모범 사례 및 튜토리얼

테스트 런타임에 테스트 컨테이너로 공식 카우치베이스 도커 이미지 구성하기

에서 이전 블로그 사용 방법을 설명한 게시물 Docker 컨테이너를 실행하여 테스트합니다. 두 게시물 모두 클러스터와 데이터가 이미 구성된 상태에서 자체 Couchbase Docker 이미지를 빌드해야 한다는 요구 사항이 있었습니다. 이 게시물에서는 테스트 설정 단계에서 공식 Docker 이미지를 사용하여 원하는 대로 클러스터를 설정하는 방법을 알려드리겠습니다.

사용자 정의 카우치베이스 테스트 컨테이너

테스트 컨테이너는 이미 몇 가지 특정 유형의 컨테이너를 지원하는데, 특히 관계형 세계에서 볼 수 있듯이 문서. 기본 데이터베이스를 직접 사용할 수 있는 JDBC 연결과 같은 몇 가지 고급 기능을 제공합니다. 같은 맥락에서 테스트 중에 클러스터와 버킷을 구성할 수 있는 사용자 정의 CouchbaseContainer를 만들 수도 있습니다.

이 함수는 도커 이미지를 시작하고 구성된 CouchbaseCluster 인스턴스를 반환합니다. 먼저 기본 도커 이미지 식별자를 정의하고 Liveness 포트를 포트 8091로 정의합니다. 이 포트는 '/ui/index.html#/' 경로에 대한 기본 HTTP 대기 전략에 의해 테스트될 포트입니다. 이 페이지에 도달하면 클러스터 설정을 시작할 수 있습니다.

두 번째 단계는 구성 메서드를 재정의하여 필요한 모든 포트를 노출하고 HTTP 대기 전략을 설정하는 것입니다,

이 시점에서 일반 컨테이너를 테스트할 수 있습니다. Couchbase를 구성해야 하는 상태에서 이미지를 실행할 수 있습니다. 마법사의 모든 단계를 거쳐야 합니다. 이러한 단계는 CLI 도구 또는 REST API를 통해 자동화할 수 있습니다. 여기서는 API를 사용하여 클러스터를 설정하겠습니다.

세 가지 필수 호출을 수행해야 합니다. 하나는 램 할당량을 설정하는 것이고, 하나는 관리자 사용자의 사용자 이름과 비밀번호를 설정하는 것이고, 다른 하나는 클러스터에서 사용 가능한 서비스(키/값, 인덱스, 쿼리 및 fts)를 설정하는 것입니다.

curl을 사용하면 이러한 호출은 다음과 같이 표시됩니다:

Java에서 POST를 수행하는 방법은 여러 가지가 있으며, 다음은 그 예입니다:

이 모든 통화는 initCluster 메서드를 호출합니다. 이러한 호출의 내용은 컨테이너에 제공된 구성에 따라 달라집니다. 몇 가지 메서드를 추가하여 활성화할 서비스, 사용자 이름과 비밀번호, 램 할당량 또는 설치할 샘플 버킷을 정의할 수 있습니다.

이 메서드를 구현한 후, CouchbaseEnvironment와 CouchbaseCluster를 노출해 보겠습니다. 환경 가져오는 함수는 initCluster 를 초기화하지 않은 경우 이 메서드를 사용하려면 맞춤형 대기 전략 가 이전 글에서 설명한 대로입니다. 기본적으로 첫 번째 노드가 정상 상태를 나타낼 때까지 '/pools/default'에서 폴링합니다.

전체 클래스의 코드는 다음과 같습니다:

사용법

CouchbaseContainer를 사용하려면 다음과 같이 하면 됩니다:

모든 데이터 샘플을 가져온 상태에서 K/V 서비스만 실행하려는 경우:

보시다시피 이것은 매우 간단하며 Docker만 설치되어 있으면 누구나 Couchbase에 대해 테스트를 실행할 수 있습니다.

 결론

이 기능이 마음에 드시고 테스트 중에 Couchbase 클러스터를 설정하기 위한 추가 구성 및 바로 가기를 원하시면 아래 댓글로 알려주세요.

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

Author

Posted by 로랑 도귄

Laurent는 파리에 사는 괴짜 금속공학도입니다. 주로 Java로 코드를 작성하고 AsciiDoc으로 구조화된 텍스트를 작성하며 데이터, 리액티브 프로그래밍 및 기타 유행어에 대해 자주 이야기합니다. 또한 Clever Cloud와 Nuxeo의 개발자 옹호자로 활동하며 해당 커뮤니티가 더 크고 강력하게 성장할 수 있도록 자신의 시간과 전문성을 바쳤습니다. 현재 Couchbase에서 개발자 관계를 운영하고 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.