GitLab: 使用 Testcontainers 运行测试
本文档属于CI/CD指南的一部分。您可以在此处查看完整指南:如何使用 GitLab CI/CD。
👋 欢迎查阅 Stackhero 文档!
Stackhero 提供即开即用的 GitLab cloud 解决方案,专为需要快速、安全、可扩展环境的团队设计:
- 无限用户、仓库、数据传输和 CI/CD 处理时间,全面满足您的灵活性需求。
- 一键轻松升级,让您的环境始终保持最新,无需停机。
- 支持自定义域名并通过HTTPS加密(例如 https://git.your-company.com),提升企业形象与安全性。
- 在您专属的私有、独立基础设施上,持续高性能与强安全性,无“邻居干扰”,实现完全隔离。
- 灵活选择托管位置:🇪🇺 欧洲或🇺🇸 USA,满足合规或延迟需求。
快速上手,专注于您的代码开发。Stackhero 的 GitLab cloud hosting 解决方案大约 5 分钟即可投入使用。
如果您的测试套件使用了 Testcontainers,即在测试运行期间以临时 Docker 容器方式启动真实服务(如数据库、消息中间件等)的库,上述配置已完全适用。请保留 docker:29-dind 服务及两个变量:Testcontainers 依赖 DOCKER_HOST 访问 Docker 守护进程并连接其启动的容器,无需额外配置。
在 CI 环境中,未设置 DOCKER_HOST 是导致 Testcontainers 失败的最常见原因。此时库会回退到 runner 挂载的 Docker socket,无法访问自身启动的测试容器,通常表现为 Ryuk 辅助容器超时。