多个Docker图像在.gitlab-ci.yml中

前端之家收集整理的这篇文章主要介绍了多个Docker图像在.gitlab-ci.yml中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这是我的问题设置与GitLab及其集成的CI服务.我现在有一个GitLab 8.1.和支持Docker的gitlabci多人赛(0.6.2).在扩展ubuntu:精确的图像以包含git和build-essentials(现在称为exact:base)后,我得到以下.gitlab-ci.yml运行:

  1. image: precise:base
  2. before_script:
  3. - apt-get install --yes cmake libmatio-dev libblas-dev libsqlite3-dev libcurl4-openssl-dev
  4. - apt-get install --yes libarchive-dev liblzma-dev
  5. build:
  6. script:
  7. - mkdir build/
  8. - cd build
  9. - cmake -D CMAKE_BUILD_TYPE=Debug ../
  10. - make

现在我的问题是如何在不同的图像上加入更多的工作?因为我需要检查代码是否在不同的操作系统(如Ubuntu Precise,Ubuntu Trusty,CentOS 6,CentOS 7)上进行编译(后续的工作).为了减少工作,我认为最好的方法是提供不同的Docker映像作为基础.

现在的问题是.gitlab-ci.yml怎样才能支持这个?

最佳答案
你可以define the image to use per job.

例如:

  1. before_script:
  2. - apt-get install --yes cmake libmatio-dev libblas-dev libsqlite3-dev libcurl4-openssl-dev
  3. - apt-get install --yes libarchive-dev liblzma-dev
  4. build:precise:
  5. image: precise:base
  6. script:
  7. - mkdir build/
  8. - cd build
  9. - cmake -D CMAKE_BUILD_TYPE=Debug ../
  10. - make
  11. build:trusty:
  12. image: trusty:base
  13. script:
  14. - mkdir build/
  15. - cd build
  16. - cmake -D CMAKE_BUILD_TYPE=Debug ../
  17. - make

猜你在找的Docker相关文章