TravisCI/Docker: docker 个具有矩阵特征的容器的参数化开始
TravisCI/Docker: parameterized start of docker containers with matrix feature
我有一个软件应该针对作为 Docker 容器提供的大量 WebDAV 后端进行测试。蹩脚的方法是启动 before_install 部分中的所有容器,如
before_install:
- docker run image1
- docker run image2
- ...
这没有多大意义并且会浪费系统资源,因为我只需要在特定的 docker 容器 运行ning 作为测试的一部分 运行.
我的测试配置使用矩阵...可以使用环境变量将 docker 图像配置为 运行 作为矩阵规范的一部分吗?
这归结为两个问题:
- 我可以在 before_install 部分的步骤中使用环境变量吗
- 是 'matrix' 在 before_install 部分之前评估的,以便使
使用矩阵中定义的环境变量
?
你的两个问题的答案都是肯定的。
我已经能够使用矩阵配置构建独立的 docker 文件。示例 docker 文件可能看起来像
sudo: required
services:
- docker
env:
- DOCKERFILE=dockerfile-1
- DOCKERFILE=dockerfile-2
before_install:
- docker build -f $DOCKERFILE .
在这种情况下,将有两个独立的运行,每个运行构建一个单独的图像。如果您的图像位于 docker 中心,您也可以使用 docker pull
命令。
我有一个软件应该针对作为 Docker 容器提供的大量 WebDAV 后端进行测试。蹩脚的方法是启动 before_install 部分中的所有容器,如
before_install:
- docker run image1
- docker run image2
- ...
这没有多大意义并且会浪费系统资源,因为我只需要在特定的 docker 容器 运行ning 作为测试的一部分 运行.
我的测试配置使用矩阵...可以使用环境变量将 docker 图像配置为 运行 作为矩阵规范的一部分吗? 这归结为两个问题:
- 我可以在 before_install 部分的步骤中使用环境变量吗
- 是 'matrix' 在 before_install 部分之前评估的,以便使 使用矩阵中定义的环境变量
?
你的两个问题的答案都是肯定的。
我已经能够使用矩阵配置构建独立的 docker 文件。示例 docker 文件可能看起来像
sudo: required
services:
- docker
env:
- DOCKERFILE=dockerfile-1
- DOCKERFILE=dockerfile-2
before_install:
- docker build -f $DOCKERFILE .
在这种情况下,将有两个独立的运行,每个运行构建一个单独的图像。如果您的图像位于 docker 中心,您也可以使用 docker pull
命令。