gitlab/gitlab-qaGitLab QA 是一个端到端(End-to-End)测试套件,旨在从整体角度验证 GitLab 应用的功能完整性。通过模拟真实用户场景和操作流程,该镜像可自动化测试 GitLab 的核心功能、集成点及系统行为,确保 GitLab 部署后的可用性和正确性。
官方项目地址:[***]
通过 docker run 命令直接启动测试容器,需指定目标 GitLab 实例地址及测试场景。
示例命令:
bashdocker run --rm \ -e GITLAB_URL="[***]" \ # 目标 GitLab 实例 URL -e QA_SCENARIO="Test::Instance::All" \ # 测试场景(默认全量测试) gitlab/gitlab-qa:latest
参数说明:
--rm:测试结束后自动删除容器。-e GITLAB_URL:必填,指定待测试的 GitLab 实例地址(需确保容器可访问该地址)。-e QA_SCENARIO:可选,指定测试场景(如 Test::Project::Create 仅测试项目创建流程),默认执行全量实例测试。若需与目标 GitLab 实例联动测试(如本地部署的 GitLab 容器),可通过 docker-compose.yml 定义服务关系:
yamlversion: '3.8' services: gitlab-qa: image: gitlab/gitlab-qa:latest environment: - GITLAB_URL="[***]" # 关联同网络下的 GitLab 服务名 - QA_SCENARIO="Test::Pipeline::Basic" # 测试基础 CI/CD 流水线 depends_on: - gitlab-web # 确保 GitLab 实例启动后再执行测试 networks: - gitlab-network # 与 GitLab 实例共享网络 # 目标 GitLab 实例(示例,实际需根据部署方式调整) gitlab-web: image: gitlab/gitlab-ce:latest ports: - "80:80" networks: - gitlab-network networks: gitlab-network:
启动命令:
bashdocker-compose up gitlab-qa # 仅启动测试服务,依赖的 GitLab 实例需提前就绪
| 变量名 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
GITLAB_URL | 待测试的 GitLab 实例完整 URL(含协议,如 [***]) | 是 | - |
QA_SCENARIO | 测试场景类名(如 Test::User::Login、Test::MergeRequest::Create) | 否 | Test::Instance::All |
GITLAB_USERNAME | 用于测试的 GitLab 管理员用户名(需具备足够权限) | 否 | root |
GITLAB_PASSWORD | 对应管理员用户的密码 | 否 | 5iveL!fe(默认密码,实际需与目标实例匹配) |
若需执行自定义测试用例,可通过挂载本地测试脚本到容器的 /home/qa/tmp 目录(需符合 GitLab QA 测试用例格式):
bashdocker run --rm \ -e GITLAB_URL="[***]" \ -v /local/custom-tests:/home/qa/tmp/custom_tests \ # 挂载本地测试脚本 gitlab/gitlab-qa:latest \ bundle exec bin/qa Test::Custom::MyScenario # 执行自定义场景
GITLAB_URL 指定的实例,建议通过 Docker 网络或主机网络模式(--net=host)确保连通性。GITLAB_USERNAME)需具备管理员权限,以覆盖用户管理、项目配置等场景。gitlab/gitlab-qa 镜像,避免因版本差异导致测试异常。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务