如何在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
      BENCHER_VERSION: 0.3.18
    before_script:
      - wget https://github.com/bencherdev/bencher/releases/download/v${BENCHER_VERSION}/bencher_${BENCHER_VERSION}_amd64.deb
      - dpkg -i bencher_${BENCHER_VERSION}_amd64.deb
    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镜像来运行你的job (例如:image: rust:bullseye)
  4. 项目必须已经存在。将--project标志或BENCHER_PROJECT环境变量设置为项目的标识符或UUID。 (例如:BENCHER_PROJECT: save-walter-white)
  5. 在您的项目的CI/CD秘密文件中添加BENCHER_API_TOKEN,在设置 -> CI / CD -> 变量 -> 添加变量
  6. API令牌必须已经存在。将--token标志或BENCHER_API_TOKEN环境变量设置为API令牌。 (例如:BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }})
  7. 可选:将--adapter标志或BENCHER_ADAPTER环境变量设置为所需的适配器名称。如果未设置,将使用magic适配器。请见基准测试适配器以获取完整概览。 (例如:BENCHER_ADAPTER: json)
  8. 可选:将--testbed标志或BENCHER_TESTBED环境变量设置为Testbed的标识符或UUID。Testbed必须已经存在。 如果未设置,将使用localhost Testbed。 (例如:BENCHER_TESTBED: bullseye)
  9. 可选:创建一个环境变量以方便跟踪使用的CLI版本。 (例如:BENCHER_VERSION: 0.3.18)
  10. .deb文件中下载并安装Bencher CLI。
  11. 使用bencher run CLI子命令跟踪您的基准测试
    1. 有多种设置项目分支的选项。请见分支选择获取完整概览。提供的命令使用GitLab CI/CD预定义变量,并尝试:
      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. 如果生成了警报,设置命令失败。为了生成警报,必须已经存在一个阈值。 (例如:--err)
    3. 运行你的基准测试并从结果生成报告。 (例如:"bencher mock")


🐰 恭喜!你已经学会了如何在GitLab CI/CD中使用Bencher!🎉


继续前进:基准测试概述 ➡

🤖 该文档由 OpenAI GPT-4 自动生成。 它可能不准确并且可能包含错误。 如果您发现任何错误,请在 GitHub 上提出问题.