Bencher 셀프 호스팅
Bencher는 오픈 소스입니다. SaaS인 Bencher Cloud와 셀프 호스팅 가능한 컨테이너 이미지 세트로 제공됩니다:
배포
Bencher Self-Hosted를 배포하는 가장 쉬운 방법은 bencher
CLI 하위 명령어 세 가지를 사용하는 것입니다:
bencher up
bencher up
Bencher 셀프 호스티드 컨테이너를 생성하고 시작합니다. 이는
docker compose up
을 실행하는 것과 유사합니다.bencher up [OPTIONS] [SERVICE]서비스
실행할 컨테이너를 선택하세요. 선택 가능한 옵션은
all
,api
,console
입니다. 기본적으로all
이 선택됩니다.docker compose up
의SERVICE
인수와 유사합니다.옵션
--detach
분리 모드로 실행합니다. 컨테이너는 백그라운드에서 실행됩니다.
docker compose up
의--detach
플래그와 유사합니다.--pull <WHEN>
실행 전에 이미지를 당겨옵니다. 가능한 선택지는 다음과 같습니다:
always
,missing
, 그리고never
. 기본값은always
입니다.docker compose up
의--pull
옵션과 유사합니다.--tag <TAG>
컨테이너에 대한 이미지 태그를 지정합니다. 기본적으로 이미지 태그는
bencher
CLI 버전과 일치합니다. 최신bencher
CLI 버전은v0.4.36
입니다.--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 run
의 the--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 run
의 the--volume
option과 유사합니다.--help
도움말 출력.
bencher logs
bencher logs
bencher up
이 the--detach
flag으로 실행된 경우, Bencher Self-Hosted 컨테이너의 출력을 봅니다. 이는docker compose logs
를 실행하는 것과 유사합니다.bencher up [OPTIONS] [SERVICE]서비스
실행할 컨테이너를 선택합니다. 가능한 선택지는
all
,api
, 그리고console
입니다. 기본적으로all
이 선택됩니다.docker compose logs
의SERVICE
인수와 유사합니다.옵션
--help
도움말 출력.
bencher down
bencher down
Bencher Self-Hosted 컨테이너를 중지하고 제거합니다,
bencher up
이--detach
플래그로 실행된 경우. 이는docker compose down
을 실행하는 것과 유사합니다.bencher down [OPTIONS] [SERVICE]서비스
실행할 컨테이너를 선택하세요. 가능한 선택지는
all
,api
,console
입니다. 기본적으로all
이 선택됩니다.docker compose down
의SERVICE
인수와 유사합니다.옵션
--help
도움말 출력.
자세한 내용은 Bencher Compose 레퍼런스를 참조하세요.
또는, docker compose
를 사용하여 컨테이너를 조율할 수도 있습니다.
docker-compose.yml
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
더 많은 정보를 보려면 Docker 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 하위 명령어를 사용한다면 다음과 같이 작성할 수 있습니다:
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
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
섹션을 사용하세요.