2017-09-15 2 views
3

J'ai mis en place un gitlab-ci-multi-runner sur ma machine virtuelle.
Dans le processus de construction, je fournis un conteneur docker avec toutes les dépendances. Mais quand je l'exécute, le coureur utilise une image docker différente (incorrecte) pour son conteneur de construction.
Les messages ressemblent que:
Coureur gitlab utilisant une image docker incorrecte pour le conteneur de construction

Courir avec gitlab ce-ci multi-runner 9.2.1 (f0xxxx4)
sur runnerVM (f5xxxxf0)
Utilisation de l'exécuteur Docker avec l'image docker.com/xxx/ xxx/docker-construction: stable ...
en utilisant l'image docker SHA256: fe32xxx ... xxxa63c pour conteneur prédéfini ...
Tirer l'image docker docker.com/xxx/xxx/docker-build:stable ..
Utilisation de docker image docker.com/xxx/xxx/docker-build : Stable ID = SHA256: 9608xxx ... xxxdf09 pour conteneur de construction ...

Quelqu'un peut-il me dire pourquoi le coureur utilise une image docker différent pour conteneur de construction?
Pourquoi est-il pas de prendre le conteneur prédéfini (parce que c'est la bonne ...)

Ici vous pouvez voir mon-gitlab ce ci.yml:

image: docker.com/xxx/xxx/docker-build:stable 

before_script: 
    - echo "Before script" 


after_script: 
    - echo "After Script" 

stages: 
    - build 
    - test 
    - deploy 

build_release: 
    stage: build 
    script: 
    - sudo make all BUILD_TYPE=Release 
    only: 
    - master 
    tags: 
    - tag1 

build_debug: 
    stage: build 
    script: 
    - sudo make all BUILD_TYPE=Debug 
    only: 
    - develop 
    - runner-test 
    tags: 
    - tag1 
    - tag2 
+0

Postez votre gitlab ci yaml –

Répondre

0

Dans votre .gitlab-ci.yml vous référencez la complète L'URL de votre conteneur; il devrait cependant être au format group/container, par ex. library/nginx.

En option, vous pouvez utiliser une version spécifique, par ex. library/nginx:1.13.9.

Pour plus d'informations, voir: https://docs.gitlab.com/ce/ci/docker/using_docker_images.html

0

Je suppose que vous utilisez le docker exécuteur testamentaire. Par conséquent, le gitlab-ci-runner crée une nouvelle Image gitlab/gitlab-runner-helper qui isolera les étapes de construction de l'environnement docker de votre machine virtuelle. Cette image doit être le conteneur prédéfini. Les étapes elles-mêmes seront effectuées à l'intérieur des conteneurs d'images que vous spécifiez pour le travail ou de l'image que vous spécifiez globalement pour tous les travaux. Ce conteneur est le conteneur de construction .

Le conteneur de construction doit être fait à partir de l'image que vous spécifiez avec image sur votre .gitlab-ci.yml. Vous pouvez le vérifier en faisant

$ docker image ls | grep -E '(fe32|9608)' 

sur votre machine virtuelle. Il vous montre les noms d'image et les balises de votre conteneur prédéfini et de construction.