.gitlab-ci.yml中的多个Docker镜像

这是我的问题与GitLab及其集成CI服务的设置。 我有一个当前的GitLab 8.1。 和一个支持Docker的gitlabci-multi-runner(0.6.2)。 在扩展ubuntu:精确的图像以包含gitbuild-essentials (现在命名为precise:base )之后,我得到了下面的.gitlab-ci.yml

 image: precise:base before_script: - apt-get install --yes cmake libmatio-dev libblas-dev libsqlite3-dev libcurl4-openssl-dev - apt-get install --yes libarchive-dev liblzma-dev build: script: - mkdir build/ - cd build - cmake -D CMAKE_BUILD_TYPE=Debug ../ - make 

现在我的问题是如何在不同的图像上包含更多的工作? 因为我需要检查代码是否在Ubuntu Precise,Ubuntu Trusty,CentOS 6,CentOS 7等不同的操作系统上编译(以及后来的作品)。为了减less工作量,我认为最好的方法是提供不同的Docker镜像作为基础。

现在的问题是, .gitlab-ci.yml是如何支持这个的?

您可以定义每个作业使用的图像 。

例如:

 before_script: - apt-get install --yes cmake libmatio-dev libblas-dev libsqlite3-dev libcurl4-openssl-dev - apt-get install --yes libarchive-dev liblzma-dev build:precise: image: precise:base script: - mkdir build/ - cd build - cmake -D CMAKE_BUILD_TYPE=Debug ../ - make build:trusty: image: trusty:base script: - mkdir build/ - cd build - cmake -D CMAKE_BUILD_TYPE=Debug ../ - make