Bencher Self-Hosted
Bencherはオープンソースです。 SaaSであるBencher Cloud、そしてセルフホスト可能なコンテナイメージのセットとして利用可能です:
- Bencherコンソールサーバー
- Bencher APIサーバー
デプロイメント
ベンチャーセルフホステッドをデプロイする最も簡単な方法は、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>
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 logs
Bencherセルフホスト型コンテナからの出力を表示します。 もしも
bencher up
が--detach
フラグを使用して実行された場合です。 これはdocker compose logs
を実行することに似ています。bencher up [OPTIONS] [SERVICE]サービス
実行するコンテナを選択します。 選択可能なオプションは、
all
、api
、およびconsole
です。 デフォルトではall
が選択されています。docker compose logs
のSERVICE
引数と似ています。オプション
--help
ヘルプを表示します。
bencher down
bencher down
Bencherのセルフホスティングコンテナを停止し、削除します。ただし、
--detach
フラグと共にbencher up
を実行した場合に限ります。これはdocker compose down
を実行するのと類似しています。bencher down [OPTIONS] [SERVICE]サービス
実行するコンテナを選択します。 選択肢は
all
、api
、console
です。 デフォルトではall
が選択されます。docker compose down
のSERVICE
引数に似ています。オプション
--help
ヘルプを表示します。
詳細については、ベンチャーコンポーズ リファレンスを参照してください。
あるいは、単に 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 コンポーズ リファレンス例を参照してください。
HTTPS
HTTPS を設定するには、Bencher Self-Hosted を HTTPS が有効になっているプロキシの背後に配置するか、有効な SSL 証明書を持つドメイン名を使用することができます。
ホストURL
Bencher Self-Hostedを使用する場合、ほとんどのbencher
CLIサブコマンドで、Bencher APIサーバーのURLを --host
オプションで設定する必要があります。
例えば、Bencher APIサーバーがhttps://api.bencher.example.com
の場合に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 Self-Hosted APIサーバーをバックアップする最も簡単な方法は、
bencher server backup
CLIサブコマンドを使用することです。
このサブコマンドを使用するには、ユーザーはサーバーの管理者である必要があります。
bencher server backup
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
セクションを使用してください。