2017-10-13 5 views
2

J'ai un déploiement sur un seul vm je joue avec l'aide bosh (suivant ces instructions: http://concourse.ci/concourse-lite.html)exécutions Docker-Compose pas le nettoyage dans Concourse

Après un tas de builds, mes erreurs de pipeline avec

/scratch/docker/tmp/GetImageBlob128904326: no space left on device 

et sur mon mac, si je vais dans ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux

le Docker.qcow2 a grandi à peu près à mon max ~ 64gig

Mon pipeline est situé à https://github.com/buildit/twig/blob/concourse/concourse/pipeline.yml

La seule chose que je peux penser est que pour mes tests e2e, je copie les fichiers docker que j'utilise pour faire tourner un environnement docker-composer dans chaque construction de sorte qu'il ne va pas attrapez-les par eux-mêmes (voir https://github.com/buildit/twig/blob/concourse/concourse/scripts/run_e2e_tests.sh) et peut-être que ces environnements e2e ne sont pas nettoyés lorsque l'étape échoue (je ne fais pas exprès pour le moment)

Y a-t-il une étape à franchir pour nettoyer ces conteneurs? J'ai 27 conteneurs quand je cours fly -t lite volumes

+0

Qu'est-ce que vous obtenez lorsque vous exécutez 'docker volumes' depuis l'intérieur du vm? J'imagine que c'est la source de la météorisation. –

+0

C'est la première fois que j'utilise bosh et je n'ai pas été capable de comprendre comment arriver à la vm pour faire quoi que ce soit. Chaque fois que j'utilise quelque chose comme 'bosh ssh' cela dit quelque chose à propos d'une URL de réalisateur mais je ne sais pas où trouver cela et rien ne sort des fichiers concourse-lite.yml ou concourse-lite-state.yml. –

Répondre

0

Essayez-vous de créer un environnement bosch dans votre conteneur docker? Nous avons essayé cela aussi et retiré l'idée. Si vous souhaitez tester un système bosh, utilisez un système de transfert plutôt que de fournir l'environnement de test dans ce cas par Concourse.

+0

Appréciez la pensée mais non, je ne fais rien avec bosh à l'intérieur de bosh. –

0

J'ai fini par réparer cela en modifiant mon fichier docker-composer. Il me semble que l'appel du docker-compose ne se terminait pas avant la fin du script, donc les choses n'étaient pas complètement nettoyées.

Mon test-coureur est maintenant configuré comme celui-ci

services: 
    test-runner: 
    ... 
    depends_on: 
     - e2e-couch 
     - e2e-api 
     - e2e-web 
    ... 

Et je lancer les tests avec docker-compose -f ./twig/concourse/compose/e2e.yml run --rm test-runner bash -c "cd /twig && npm install && npm run test:e2e:ci -- --base-href http://e2e-web" sans prendre la peine de faire un docker-Compose au préalable. Voir les liens github originaux dans la question d'origine pour plus d'informations.

Je ne sais pas pourquoi le fait de composer le docker ne les a pas nettoyés mais cela fonctionne parfaitement.