2015-10-28 19 views
17

İşte benim Sorunum GitLab ve onun CI hizmetiyle kurulum. Mevcut bir GitLab 8.1 var. ve Docker desteği ile bir gitlabci multi-runner (0.6.2). ubuntu uzanan sonra: hassas görüntü git dahildir ve build-essentials (şimdi adlandırılmış hassas: baz) için aşağıdaki .gitlab-ci.yml çalışan var:Çoklu Docker görüntüleri .gitlab-ci.yml içinde

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 

Şimdi benim sorum ne kadar farklı görüntülerde daha fazla iş içerecek şekilde edilir? Çünkü kodun Ubuntu Precise, Ubuntu Trusty, CentOS 6, CentOS 7 gibi farklı işletim sistemlerinde derlendiğini (ve daha sonra da çalışıp çalışmadığını) kontrol etmem gerekiyor. Çalışmayı azaltmak için en iyi yolun farklı Docker görüntülerini üs olarak sağlamak olduğunu düşünüyorum.

Şimdi, soru şu: .gitlab-ci.yml bunu nasıl destekleyecek gibi görünüyor?

cevap

27

define the image to use per job. Örneğin

:

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