Plusieurs images de Docker.gitlab-ci.yml

Voici mon problème d'installation avec GitLab et son service de CI intégré. J'ai actuellement un GitLab 8.1. et un gitlabci-multi-runner (0.6.2) avec Docker support. Après l'extension de l'ubuntu: image précise pour inclure git et build-essentials (maintenant nommé précision:) j'ai obtenu le suivant .gitlab-ci.yml fonctionnement:

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

maintenant, ma question Est comment inclure plus de travaux sur différentes images? Parce que j'ai besoin de vérifier si le code se compile (et plus tard fonctionne) sur différents des systèmes comme Ubuntu Precise, Ubuntu Trusty, CentOS 6, CentOS 7. Pour réduire le travail je pense que la meilleure façon est de fournir différentes images Docker comme base.

maintenant, les questions sont comment le .gitlab-ci.yml ressembler à l'appui de cette?

26
demandé sur Matthias Braun 2015-10-28 12:43:40

2 réponses

Vous pouvez définir l'image à utiliser par emploi.

Par exemple:

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
40
répondu yjwong 2015-11-30 18:18:01

vous pouvez utiliser Anchors pour le .gitlab-ci.yml plus clairement. (Mais cela nécessite GitLab 8.6 et GitLab Runner v1.1.1.)

Comme ceci:

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_template: &build_definition
  script:
    - mkdir build/
    - cd build
    - cmake -D CMAKE_BUILD_TYPE=Debug ../
    - make

build:precise:
  image: precise:base
  <<: *build_definition

build:trusty:
  image: trusty:base
  <<: *build_definition
1
répondu TaoBeier 2018-09-06 07:57:07