自动化的存储库测试
预计阅读时间:3分钟
Docker Hub可以使用容器自动测试对源代码存储库的更改。您可以Autotest
在任何Docker Hub存储库上启用以在对源代码存储库的每个拉取请求上运行测试,以创建持续集成测试服务。
启用Autotest
构建用于测试目的的图像,但并没有
内置图像自动推送到泊坞库。如果要将构建的映像推送到Docker Hub存储库,请启用Automated Builds。
设置自动测试文件
要设置自动化测试,请创建一个docker-compose.test.yml
文件,该文件定义了sut
列出要运行的测试的服务。该docker-compose.test.yml
文件应位于与用于构建映像的Dockerfile相同的目录中。
例如:
sut:
build: .
command: run_tests.sh
上面的示例构建存储库,并run_tests.sh
使用构建的映像在容器内运行文件。
您可以在此文件中定义任意数量的链接服务。唯一的要求是sut
已定义。它的返回码确定测试是否通过。如果服务返回,则测试通过,否则失败。sut
0
注意:仅启动
sut
服务和其中列出的所有其他服务depends_on
。例如,如果您具有轮询其他服务中的更改的服务,请确保将轮询服务包括在depends_on
列表中,以确保所有服务都已启动。
docker-compose.test.yml
如果需要,您可以定义多个文件。任何以结尾的文件.test.yml
都将用于测试,并且测试将顺序运行。您还可以使用自定义构建挂钩
进一步自定义测试行为。
注意:如果启用自动构建,则它们还将运行
test.yml
文件中定义的所有测试。
在存储库上启用自动化测试
要在源代码存储库上启用测试,您必须首先在Docker Hub中创建一个关联的构建存储库。您的Autotest
设置与自动构建配置在同一页面上,但是您无需启用自动构建即可使用Autotest
。每个分支或标签都启用了自动构建,您根本不需要启用它。
无论Autotest设置如何,仅配置为使用Autobuild的分支会将映像推送到Docker存储库。
-
登录Docker Hub并在顶部导航中选择Repositories。
-
选择您要启用的存储库
Autotest
。 -
在存储库视图中,单击“构建”选项卡。
-
单击“配置自动构建”。
-
配置自动构建设置在解释自动化的构建。
至少您必须配置:
- 源代码存储库
- 构建位置
- 至少一个构建规则
-
选择您的自动测试选项。
提供以下选项:
-
Off
:无其他测试版本。仅在将测试配置为自动构建的一部分时运行测试。 -
Internal pull requests
:仅当该拉取请求来自同一源存储库时,才对与构建规则匹配的分支的任何拉取请求运行测试构建。 -
Internal and external pull requests
:针对到构建规则匹配的分支的任何拉取请求(包括拉取请求起源于外部源存储库的时间)运行测试构建。
注意:为了安全起见,在公共存储库上限制对外部请求请求的自动测试。不会提取私有映像,并且在Docker Hub中定义的环境变量不可用。自动化构建继续照常工作。
-
-
单击“保存”以保存设置,或单击“保存并生成”以保存并运行初始测试。
检查您的测试结果
在存储库的详细信息页面中,单击时间轴。
在此选项卡中,您可以查看存储库的任何挂起,进行中,成功和失败的构建和测试运行。
您可以单击任何时间线条目以查看每次测试运行的日志。
自动化,测试,知识库