Bencher Self-Hosted


Bencherはオープンソースです。 SaaSであるBencher Cloud、そしてセルフホスト可能なコンテナイメージのセットとして利用可能です:

デプロイ

Bencher Self-Hosted をデプロイする最も簡単な方法は、bencher CLI のサブコマンドの三連画です:

bencher up

Bencher セルフホスト型コンテナを作成して開始します。 これは docker compose up を実行するのと似ています。

bencher up [OPTIONS] [SERVICE]

サービス

実行するコンテナを選択します。 選択肢は、allapi、および console です。 デフォルトでは all が選択されます。 docker compose upSERVICE 引数に類似しています。

オプション

--detach

デタッチモードで実行します。 コンテナはバックグラウンドで実行されます。 docker compose up--detachフラグと似ています。

--pull <WHEN>

実行する前にイメージをプルします。 選択肢は alwaysmissingnever です。 デフォルトでは always が選ばれます。 docker compose up--pull オプションに似ています。

--tag <TAG>

コンテナのイメージタグを指定します。 デフォルトでは、イメージタグは bencher CLI のバージョンと一致します。最新の bencher CLI のバージョンは v0.4.22 です。

--console-port <PORT>

Consoleサーバーコンテナのポート番号を指定します。 デフォルトでは、ポート3000が使用されます。 docker run--exposeオプションのポートのみの形式と類似しています。

--api-port <PORT>

APIサーバーコンテナのポート番号を指定します。 デフォルトでは、ポート61016が使用されます。 docker run --exposeオプションのポートのみの形式に似ています。

--console-env <KEY_VALUE>

環境変数をコンソールサーバーコンテナに渡します。 期待されるフォーマットは KEY=value です。 コンソールサーバーの設定で作業する際に役立ちます。 docker run --env オプション と似ています。

--api-env <KEY_VALUE>

環境変数をAPIサーバーコンテナに渡します。期待されるフォーマットはKEY=valueです。これはAPIサーバー設定を扱う際に便利です。docker run --envオプションと似ています。

--console-volume <HOST_CONTAINER>

マウントボリュームをコンソールサーバーコンテナに渡します。期待される形式は /host/path:/container/path です。これは、コンソールサーバーの設定 を操作する際に役立ちます。docker run--volume オプション と似ています。

--api-volume <HOST_CONTAINER>

APIサーバーコンテナにマウントボリュームを渡します。 期待される形式は /host/path:/container/path です。 これはAPIサーバーの設定を扱う際に便利です。 docker run --volume オプションに似ています。

--help

ヘルプを表示します。

bencher logs

Bencherセルフホスト型コンテナからの出力を表示します。 もしもbencher up --detach フラグを使用して実行された場合です。 これはdocker compose logsを実行することに似ています。

bencher up [OPTIONS] [SERVICE]

サービス

実行するコンテナを選択します。 選択可能なオプションは、allapi、および console です。 デフォルトでは all が選択されています。 docker compose logsSERVICE 引数と似ています。

オプション

--help

ヘルプを表示します。

bencher down

Bencherのセルフホスティングコンテナを停止し、削除します。ただし、 --detach フラグと共にbencher upを実行した場合に限ります。これはdocker compose downを実行するのと類似しています。

bencher down [OPTIONS] [SERVICE]

サービス

実行するコンテナを選択します。 選択肢は allapiconsole です。 デフォルトでは 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

ホストURL

Bencher Self-Hostedを使用する場合、ほとんどのbencher CLIサブコマンドで、Bencher APIサーバーのURLを --hostオプションで設定する必要があります。

例えば、Bencher APIサーバーがhttps://api.bencher.example.comの場合に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 Self-Hosted APIサーバーをバックアップする最も簡単な方法は、 bencher server backup CLIサブコマンドを使用することです。 このサブコマンドを使用するには、ユーザーはサーバーの管理者である必要があります。

bencher server backup

APIサーバーデータベースのバックアップ。

オプション

--host <URL>

Bencher Self-Hosted APIサーバーのURL。 例えば、https://api.bencher.example.com

--token <TOKEN>

--tokenオプションまたはBENCHER_API_TOKEN環境変数のいずれかを、有効なAPIトークンとして設定する必要があります。 両方が指定されている場合、--tokenオプションがBENCHER_API_TOKEN環境変数よりも優先されます。

--compress

データベースバックアップを gzip で圧縮します。 この操作は最初に実行されます。

--data-store <DATA_STORE>

データベースバックアップをこのデータストアに保存します。この操作は2番目に実行されます。

サポートされているデータストア:

  • aws_s3: AWS S3へのバックアップ

Bencher Self-Hosted APIサーバーのデータストアを設定するには、APIサーバーの設定ファイル内の database.data_store セクションを使用してください。

--remove

ローカルコピーのデータベースバックアップを削除します。 この操作は3番目に実行されます。

ディザスタリカバリ

バックアップ間でのデータ損失を防ぐために、Bencherは組み込みのディザスタリカバリソリューションを提供します。 この機能にはアクティブなBencher Plusライセンスが必要です。

サポートされているレプリケーションスキーム:

  • file: ローカルファイルパスへレプリケーション
  • sftp: SFTP経由でレプリケーション
  • s3: S3互換の任意のブロブストレージへレプリケーション
  • abs: Azure Blob Storageへレプリケーション
  • gcs: Google Cloud Storageへレプリケーション

Bencher Self-Hosted APIサーバー用のディザスタリカバリを設定するには、APIサーバー設定のplus.disaster_recoveryセクションを使用してください。

🤖 このドキュメントは OpenAI GPT-4 によって自動的に生成されました。 正確ではない可能性があり、間違いが含まれている可能性があります。 エラーを見つけた場合は、GitHub で問題を開いてください。.


Published: Mon, October 14, 2024 at 6:20:00 AM UTC