互联网技术 / 互联网资讯 · 2023年11月28日 0

设置Docker Hub自动测试文件

Docker Hub支持自动测试,能够针对源代码仓库的变更进行容器测试。您可以在任何Docker Hub仓库中启用Autotest,以便对每个拉取请求执行测试,从而实现持续集成的测试服务。

启用Autotest后,将会构建用于测试的镜像,但系统并不会自动将这些镜像推送到Docker Hub。如果希望将构建的镜像上传到Docker Hub,请同时启用Automated Builds。

要配置自动化测试,请创建一个名为docker-compose.test.yml的文件,该文件定义了需要运行测试的服务。此docker-compose.test.yml文件应放在包含Dockerfile的目录中。

例如,您可以这样定义:

sut:

build: .

command: Run_tests.sh

上述示例构建了仓库,并在容器中使用构建的镜像执行Run_tests.sh文件。

您可以在该文件中定义任意数量的链接服务,唯一的要求是必须定义sut。其返回码将决定测试是否成功。如果服务返回成功,则测试通过;如果失败,则测试不通过。

请注意,仅需启动sut服务及其依赖的所有服务。假如您有服务需要轮询其他服务的状态,务必将该轮询服务包括在depends_on列表中,以确保所有服务已正常启动。

如果需要,您可以定义多个docker-compose.test.yml文件。所有以.test.yml结尾的文件都将用于测试,并且测试将会按顺序执行。您还可以利用自定义构建挂钩来进一步调整测试行为。

请注意,启用自动构建后,也会运行test.yml文件中定义的所有测试。

[[[IMG_1]]]

[[[IMG_2]]]

[[[IMG_3]]]