如何在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"
- 创建一个GitLab CI/CD文件 (例如:
.gitlab-ci.yml
) - 创建一个GitLab CI/CD
job
(例如:benchmark_with_bencher
) - 选择一个Docker镜像来运行你的job (例如:
image: rust:bullseye
) - 项目必须已经存在。将
--project
标志或BENCHER_PROJECT
环境变量设置为项目的标识符或UUID。 (例如:BENCHER_PROJECT: save-walter-white
) - 在您的项目的CI/CD秘密文件中添加
BENCHER_API_TOKEN
,在设置 -> CI / CD -> 变量 -> 添加变量
下 - API令牌必须已经存在。将
--token
标志或BENCHER_API_TOKEN
环境变量设置为API令牌。 (例如:BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }}
) - 可选:将
--adapter
标志或BENCHER_ADAPTER
环境变量设置为所需的适配器名称。如果未设置,将使用magic
适配器。请见基准测试适配器以获取完整概览。 (例如:BENCHER_ADAPTER: json
) - 可选:将
--testbed
标志或BENCHER_TESTBED
环境变量设置为Testbed的标识符或UUID。Testbed必须已经存在。 如果未设置,将使用localhost
Testbed。 (例如:BENCHER_TESTBED: bullseye
) - 可选:创建一个环境变量以方便跟踪使用的CLI版本。 (例如:
BENCHER_VERSION: 0.3.18
) - 从
.deb
文件中下载并安装Bencher CLI。 - 使用
bencher run
CLI子命令跟踪您的基准测试:- 有多种设置项目分支的选项。请见分支选择获取完整概览。提供的命令使用GitLab CI/CD预定义变量,并尝试:
- 如果已经存在,使用当前分支。 (例如:
--if-branch "$CI_COMMIT_REF_NAME"
) - 如果已经存在,则创建MR目标分支数据和阈值的克隆。 (例如:
--else-if-branch "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME"
) - 否则,创建
main
分支数据和阈值的克隆。 (例如:--else-if-branch main
)
- 如果已经存在,使用当前分支。 (例如:
- 如果生成了警报,设置命令失败。为了生成警报,必须已经存在一个阈值。 (例如:
--err
) - 运行你的基准测试并从结果生成报告。 (例如:
"bencher mock"
)
- 有多种设置项目分支的选项。请见分支选择获取完整概览。提供的命令使用GitLab CI/CD预定义变量,并尝试:
🐰 恭喜!你已经学会了如何在GitLab CI/CD中使用Bencher!🎉
继续前进:基准测试概述 ➡
🤖 该文档由 OpenAI GPT-4 自动生成。 它可能不准确并且可能包含错误。 如果您发现任何错误,请在 GitHub 上提出问题.