Bencher 셀프 호스팅


Bencher는 오픈 소스입니다. SaaS인 Bencher Cloud와 셀프 호스팅 가능한 컨테이너 이미지 세트로 제공됩니다:

배포

Bencher Self-Hosted를 배포하는 가장 쉬운 방법은 bencher CLI 하위 명령어의 삼중체를 사용하는 것입니다:

bencher up

Bencher 셀프 호스티드 컨테이너를 생성하고 시작합니다. 이는 docker compose up을 실행하는 것과 유사합니다.

bencher up [OPTIONS] [SERVICE]

서비스

실행할 컨테이너를 선택하세요. 선택 가능한 옵션은 all, api, console입니다. 기본적으로 all이 선택됩니다. docker compose upSERVICE 인수와 유사합니다.

옵션

--detach

분리 모드로 실행합니다. 컨테이너는 백그라운드에서 실행됩니다. docker compose up--detach 플래그와 유사합니다.

--pull <WHEN>

실행 전에 이미지를 당겨옵니다. 가능한 선택지는 다음과 같습니다: always, missing, 그리고 never. 기본값은 always입니다. docker compose up--pull 옵션과 유사합니다.

--tag <TAG>

컨테이너에 대한 이미지 태그를 지정합니다. 기본적으로 이미지 태그는 bencher CLI 버전과 일치합니다. 최신 bencher CLI 버전은 v0.4.27입니다.

--console-port <PORT>

콘솔 서버 컨테이너에 대한 포트 번호를 지정합니다. 기본적으로 포트 3000이 사용됩니다. docker run--expose 옵션의 포트만 설정하는 형식과 유사합니다.

--api-port <PORT>

API 서버 컨테이너에 대한 포트 번호를 지정합니다. 기본적으로 포트 61016이 사용됩니다. docker run--expose 옵션의 포트 전용 형식과 유사합니다.

--console-env <KEY_VALUE>

환경 변수를 Console 서버 컨테이너에 전달합니다. 예상 형식은 KEY=value입니다. 이는 Console Server 구성과 작업할 때 유용할 수 있습니다. docker run--env 옵션과 유사합니다.

--api-env <KEY_VALUE>

API 서버 컨테이너에 환경 변수를 전달합니다. 예상되는 형식은 KEY=value입니다. 이는 API 서버 구성 작업 시 유용할 수 있습니다. docker runthe --env option과 유사합니다.

--console-volume <HOST_CONTAINER>

Console 서버 컨테이너에 마운트 볼륨을 전달합니다. 예상 형식은 /host/path:/container/path입니다. 이는 콘솔 서버 구성 작업 시 유용할 수 있습니다. docker run--volume 옵션과 유사합니다.

--api-volume <HOST_CONTAINER>

API 서버 컨테이너에 마운트 볼륨을 전달합니다. 예상 형식은 /host/path:/container/path입니다. 이는 API 서버 구성 작업 시 유용할 수 있습니다. docker runthe --volume option과 유사합니다.

--help

도움말 출력.

bencher logs

bencher upthe --detach flag으로 실행된 경우, Bencher Self-Hosted 컨테이너의 출력을 봅니다. 이는 docker compose logs를 실행하는 것과 유사합니다.

bencher up [OPTIONS] [SERVICE]

서비스

실행할 컨테이너를 선택합니다. 가능한 선택지는 all, api, 그리고 console입니다. 기본적으로 all이 선택됩니다. docker compose logsSERVICE 인수와 유사합니다.

옵션

--help

도움말 출력.

bencher down

Bencher Self-Hosted 컨테이너를 중지하고 제거합니다, bencher up--detach 플래그로 실행된 경우. 이는 docker compose down을 실행하는 것과 유사합니다.

bencher down [OPTIONS] [SERVICE]

서비스

실행할 컨테이너를 선택하세요. 가능한 선택지는 all, api, console입니다. 기본적으로 all이 선택됩니다. docker compose downSERVICE 인수와 유사합니다.

옵션

--help

도움말 출력.

또는, docker compose를 사용하여 컨테이너를 오케스트레이션할 수 있습니다. 다음은 docker-compose.yml 파일의 예시입니다:

version: "3.9"
services:
bencher_api_compose:
image: ghcr.io/bencherdev/bencher-api:latest
container_name: bencher_api
ports:
- 61016:61016
volumes:
# Mount the configuration directory
- "./services/api/etc:/etc/bencher"
# Mount the database directory
- "./services/api/data:/var/lib/bencher/data"
# environment:
# Set configuration string or file path
# - BENCHER_CONFIG=
# - BENCHER_CONFIG_PATH=
bencher_console_compose:
image: ghcr.io/bencherdev/bencher-console:latest
container_name: bencher_console
ports:
- 3000:3000
environment:
# Set the API URL to the localhost IPv4 address
- BENCHER_API_URL=http://127.0.0.1:61016
# This is needed for Docker-to-Docker communication when using a local `BENCHER_API_URL`
# Do not set this when using a remote `BENCHER_API_URL`, such as https://bencher.example.com
- INTERNAL_API_URL=http://host.docker.internal:61016
depends_on:
- bencher_api_compose

HTTPS

HTTPS를 설정하려면 HTTPS가 활성화된 프록시 뒤에서 Bencher Self-Hosted를 사용할 수 있거나 유효한 SSL 인증서를 가진 도메인 이름을 사용할 수 있습니다.

호스트 URL

Bencher Self-Hosted를 사용할 때, 대부분의 bencher CLI 하위 명령어에 대해 Bencher API 서버의 URL로 the --host option을 설정해야 합니다.

예를 들어, https://api.bencher.example.com에 있는 Bencher API 서버와 함께 bencher run CLI 하위 명령어를 사용한다면 다음과 같이 작성할 수 있습니다:

Terminal window
bencher run \
--host https://api.bencher.example.com \
--project save-walter-white-1234abcd \
--branch main \
--testbed ci-runner \
--adapter json \
bencher mock

백업

Bencher 자체 호스팅 API 서버를 백업하는 가장 쉬운 방법은 bencher server backup CLI 하위 명령어를 사용하는 것입니다. 이 하위 명령어를 사용하려면 사용자가 서버의 관리자인지 확인해야 합니다.

bencher server backup

API 서버 데이터베이스를 백업합니다.

옵션

--host <URL>

Bencher 자체 호스팅 API 서버 URL입니다. 예를 들면, https://api.bencher.example.com입니다.

--token <TOKEN>

--token 옵션이나 BENCHER_API_TOKEN 환경 변수가 유효한 API 토큰으로 설정되어야 합니다. 둘 다 지정된 경우, --token 옵션이 BENCHER_API_TOKEN 환경 변수보다 우선합니다.

--compress

데이터베이스 백업을 gzip으로 압축합니다. 이 작업은 가장 먼저 수행됩니다.

--data-store <DATA_STORE>

데이터베이스 백업을 이 데이터 스토어에 저장합니다. 이 작업은 두 번째로 실행됩니다.

지원되는 데이터 스토어:

  • aws_s3: AWS S3로 백업

Bencher 자체 호스팅 API 서버의 데이터 스토어를 설정하려면 API 서버 구성의 database.data_store 섹션을 사용하세요.

--remove

로컬 데이터베이스 백업 복사본을 제거합니다. 이 작업은 세 번째로 실행됩니다.

재해 복구

백업 사이의 데이터 손실을 방지하기 위해 Bencher는 내장된 재해 복구 솔루션을 제공합니다. 이 기능은 활성화된 Bencher Plus 라이선스가 필요합니다.

지원되는 복제 스키마:

  • file: 로컬 파일 경로로 복제
  • sftp: SFTP를 통한 복제
  • s3: S3 호환 블롭 스토리지로 복제
  • abs: Azure Blob Storage로 복제
  • gcs: Google Cloud Storage로 복제

Bencher 자체 호스팅 API 서버의 재해 복구를 설정하려면 API 서버 구성의 plus.disaster_recovery 섹션을 사용하세요.

🤖 이 문서는 OpenAI GPT-4에 의해 자동으로 생성되었습니다. 정확하지 않을 수도 있고 오류가 있을 수도 있습니다. 오류를 발견하면 GitHub에서 문제를 열어주세요.


Published: Mon, October 14, 2024 at 6:20:00 AM UTC | Last Updated: Sat, October 19, 2024 at 7:30:00 PM UTC