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 辅助容器超时。