Múltiples imágenes de Docker en.gitlab-ci.yml
Aquí está mi configuración de problemas con GitLab y su servicio de CI integrado. Tengo un GitLab 8.1 actual. y un gitlabci-multi-runner (0.6.2) con soporte Docker. Después de extender la imagen de ubuntu: precise para incluir git
y build-essentials
(ahora llamado precise:base) tengo lo siguiente .gitlab-ci.yml
funcionando:
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
Ahora mi pregunta es ¿cómo incluir más trabajos en diferentes imágenes? Porque necesito comprobar si el código compila (y después funciona) en diferentes sistemas operativos como Ubuntu Preciso, Ubuntu Trusty, CentOS 6, CentOS 7. Para reducir el trabajo creo que la mejor manera es proporcionar diferentes imágenes Docker como base.
Ahora la pregunta es ¿cómo debe lucir el .gitlab-ci.yml
para apoyar esto?
2 answers
Puede definir la imagen a utilizar por trabajo.
Por ejemplo:
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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-30 18:18:01
Puede usar Anchors
para hacer el .gitlab-ci.yml
más claramente. (Pero esto necesita GitLab 8.6 y GitLab Runner v1.1. 1.)
Así:
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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-06 07:57:07