GitLab CI/CDでBencherをどのように使用するか


benchmark_with_bencher:
image: rust:bullseye
variables:
BENCHER_PROJECT: save-walter-white
BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }}
BENCHER_ADAPTER: json
BENCHER_TESTBED: bullseye
before_script:
- curl --proto '=https' --tlsv1.2 -sSfL https://bencher.dev/download/install-cli.sh | sh
script:
- |
bencher run \\
--if-branch "$CI_COMMIT_REF_NAME" \\
--else-if-branch "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" \\
--else-if-branch main \\
--err \\
"bencher mock"
  1. GitLab CI/CDファイル(例:.gitlab-ci.yml)を作成します。
  2. GitLab CI/CDの job(例: benchmark_with_bencher)を作成します。
  3. ジョブを実行するためのDockerイメージ(例: image: rust:bullseye)を選択します。
  4. プロジェクトはすでに存在していなければなりません。 --project フラグまたは BENCHER_PROJECT 環境変数をプロジェクトのスラグまたはUUIDに設定します。(例: BENCHER_PROJECT: save-walter-white
  5. BENCHER_API_TOKEN をプロジェクトのCI/CDシークレットに追加してください。これは 設定 -> CI / CD -> 変数 -> 変数を追加 の下にあります。
  6. APIトークンはすでに存在していなければなりません。 --token フラグまたは BENCHER_API_TOKEN 環境変数をAPIトークンに設定します。(例: BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }}
  7. オプション: --adapter フラグまたは BENCHER_ADAPTER 環境変数を目的のアダプタ名に設定します。これが設定されていない場合、 magic アダプタが使用されます。完全な概観については、 benchmark harness adapters を参照してください。(例: BENCHER_ADAPTER: json
  8. オプション: --testbed フラグまたは BENCHER_TESTBED 環境変数をTestbedのスラグまたはUUIDに設定します。Testbedはすでに存在している必要があります。これが設定されていない場合、 localhost Testbedが使用されます。(例: BENCHER_TESTBED: bullseye
  9. 便利なスクリプトを使用してBencher CLIをダウンロードおよびインストールします。
  10. bencher run CLIサブコマンドを使って、あなたのベンチマークを追跡します:
    1. プロジェクトブランチの設定に関してはいくつかの選択肢があります。完全な概観については、branch selectionを参照してください。提供されたコマンドはGitLab CI/CD predefined variablesを使用し、
      1. すでに存在している場合、現在のブランチを使用します。(例: --if-branch "$CI_COMMIT_REF_NAME"
      2. すでに存在している場合、MRターゲットブランチのデータと閾値のクローンを作成します。(例: --else-if-branch "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME"
      3. それ以外の場合は、 main ブランチのデータと閾値のクローンを作成します。(例: --else-if-branch main
    2. アラートが生成された場合、コマンドが失敗するように設定します。アラートが生成されるためには、Thresholdがすでに存在している必要があります。(例: --err
    3. ベンチマークを実行し、結果からレポートを生成します。(例: "bencher mock"


🐰 おめでとうございます! GitLab CI/CDでBencherの使用方法を学習しました! 🎉


続けて学ぼう: ベンチマーキングの概要 ➡

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