streamsets/testsStreamSets Product Tests 镜像为 StreamSets 数据集成产品(如 Data Collector、Transformer、Control Hub 等)提供标准化的测试环境与执行框架。该镜像集成了测试工具链、预置测试用例及报告生成功能,旨在简化 StreamSets 产品的功能验证、兼容性测试及自定义测试流程,支持开发、测试及 CI/CD 场景下的自动化测试需求。
通过 Docker Hub 或私有仓库拉取镜像:
bashdocker pull streamsets/product-tests:latest # 最新版本 # 或指定版本(如 5.5.0) docker pull streamsets/product-tests:5.5.0
执行预置的基础功能测试用例(以 StreamSets Data Collector 为例):
bashdocker run --rm \ -e STREAMSETS_PRODUCT=datacollector \ # 指定测试产品(datacollector/transformer/controlhub) -e STREAMSETS_VERSION=5.5.0 \ # 目标测试版本 streamsets/product-tests:latest
挂载本地测试用例目录(需遵循镜像测试用例目录结构):
bashdocker run --rm \ -v /local/testcases:/tests/custom \ # 本地测试用例目录挂载到容器内 -e TEST_SUITE=custom \ # 指定执行自定义测试套件 -e STREAMSETS_PRODUCT=datacollector \ streamsets/product-tests:latest
挂载目录保存测试报告(默认路径 /tests/reports):
bashdocker run --rm \ -v /local/reports:/tests/reports \ # 本地目录接收测试报告 -e TEST_REPORT_FORMAT=html \ # 报告格式(html/json/xml) streamsets/product-tests:latest
| 环境变量名 | 说明 | 示例值 |
|---|---|---|
STREAMSETS_PRODUCT | 目标测试产品类型 | datacollector |
STREAMSETS_VERSION | 目标测试产品版本 | 5.5.0 |
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
TEST_SUITE | 测试套件名称(预置:base/compatibility;自定义:custom) | base |
TEST_REPORT_PATH | 测试报告输出路径(容器内) | /tests/reports |
TEST_REPORT_FORMAT | 报告格式(html/json/xml) | html |
LOG_LEVEL | 日志级别(DEBUG/INFO/WARN/ERROR) | INFO |
PARALLEL_THREADS | 并行测试线程数 | 4(根据 CPU 自动调整) |
| 挂载路径(容器内) | 说明 | 本地路径示例 |
|---|---|---|
/tests/custom | 自定义测试用例目录(仅 TEST_SUITE=custom 时生效) | /local/custom-tests |
/tests/reports | 测试报告输出目录 | /local/test-reports |
/tests/config | 自定义测试配置文件(如连接信息、参数覆盖) | /local/test-config |
运行 StreamSets Data Collector 5.5.0 版本的基础功能测试,并输出 HTML 报告:
bashdocker run --rm \ -e STREAMSETS_PRODUCT=datacollector \ -e STREAMSETS_VERSION=5.5.0 \ -e TEST_REPORT_FORMAT=html \ -v $(pwd)/reports:/tests/reports \ # 当前目录下 reports 文件夹接收报告 streamsets/product-tests:latest
挂载本地测试用例,执行自定义测试套件:
bashdocker run --rm \ -e STREAMSETS_PRODUCT=transformer \ -e STREAMSETS_VERSION=5.4.1 \ -e TEST_SUITE=custom \ -v /local/custom-tests:/tests/custom \ # 本地测试用例目录 -v /local/reports:/tests/reports \ streamsets/product-tests:latest
在 .gitlab-ci.yml 中集成测试步骤:
yamlstages: - test streamsets-test: stage: test image: streamsets/product-tests:latest variables: STREAMSETS_PRODUCT: "datacollector" STREAMSETS_VERSION: "5.5.0" TEST_SUITE: "compatibility" script: - /tests/run_tests.sh # 镜像内置测试执行脚本 artifacts: paths: - /tests/reports/ # 收集测试报告作为流水线产物
STREAMSETS_VERSION 需与目标产品版本一致,避免因 API 变更导致测试失败。--cpus 4 --memory 8g),避免资源瓶颈影响测试结果。--network 参数将容器加入目标网络。testsuser)对目录有读写权限,可通过 -u root 临时提升权限调试。LOG_LEVEL=DEBUG 查看详细日志。TEST_REPORT_PATH 目录可写,或尝试挂载空目录避免权限冲突。docker exec -it <容器ID> /bin/bash 进入容器调试。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务