Closed omansour closed 10 years ago
Quelle version de docker ? Tu peux jouer la commande en mode verbose aussi (-v) et me donner l'output ?
$ docker -v
Docker version 1.0.1, build 990021a
$ php -v
PHP 5.5.10 (cli) (built: Apr 22 2014 09:12:41)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
$ php jolici.phar -v run
Creating builds...
3 builds created
Running build php-5.4
[GuzzleHttp\Exception\ServerException]
Server error response [url] /build?q=0&t=53ac36595e5e2-php-5.4&nocache=0&rm=0 [status code] 500 [reason phrase] I
nternal Server Error
Exception trace:
() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:68
GuzzleHttp\Exception\RequestException::create() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/vendor/guzzlehttp/guzzle/src/Subscriber/HttpError.php:31
GuzzleHttp\Subscriber\HttpError->onComplete() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/vendor/guzzlehttp/guzzle/src/Event/Emitter.php:105
GuzzleHttp\Event\Emitter->emit() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/vendor/guzzlehttp/guzzle/src/Event/RequestEvents.php:75
GuzzleHttp\Event\RequestEvents::emitComplete() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/vendor/stage1/docker-php/src/Docker/Http/Adapter/DockerAdapter.php:55
Docker\Http\Adapter\DockerAdapter->send() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/vendor/guzzlehttp/guzzle/src/Client.php:182
GuzzleHttp\Client->send() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/vendor/guzzlehttp/guzzle/src/Client.php:170
GuzzleHttp\Client->post() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/vendor/stage1/docker-php/src/Docker/Docker.php:102
Docker\Docker->build() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/src/Joli/JoliCi/Executor.php:101
Joli\JoliCi\Executor->runBuild() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/src/Joli/JoliCi/Command/RunCommand.php:66
Joli\JoliCi\Command\RunCommand->execute() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:241
Symfony\Component\Console\Command\Command->run() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:895
Symfony\Component\Console\Application->doRunCommand() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:191
Symfony\Component\Console\Application->doRun() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:121
Symfony\Component\Console\Application->run() at phar:///Users/oliviermansour/Sites/service-6play-api/jolici.phar/bin/jolici:24
require() at /Users/oliviermansour/Sites/service-6play-api/jolici.phar:6
run [-p|--project-path[="..."]] [--no-cache] [--timeout[="..."]] [--docker-host[="..."]] [cmd]
Aucun problème pour lancer un container à la main sinon ?
docker run jolicode/php54 /bin/bash
Sinon pour aller plus loin, les builds sont mis dans des repertoires temporaires :
sys_get_temp_dir()/jolici-builds/uniqid()/$build
Si tu peux aller dans le dossier et faire un docker build
à la main et me dire si tu as ce problème ce serait top. Je sais pas trop si c'est ma lib ou docker qui foire :/
ok
le docker build indique un pb dans mon before_script
c'est donc à priori ma faute. Je corrige et je te dis.
idéalement il faudrait un message plus clair mais maintenant je sais débogguer :)
Le 26 juin 2014 17:25, Joel Wurtz notifications@github.com a écrit :
Aucun problème pour lancer un container à la main sinon ?
docker run jolicode/php54 /bin/bash
Sinon pour aller plus loin, les builds sont mis dans des repertoires temporaires :
sys_get_temp_dir()/jolici-builds/uniqid()/$build
Si tu peux aller dans le dossier et faire un docker build à la main et me dire si tu as ce problème ce serait top. Je sais pas trop si c'est ma lib ou docker qui foire :/
— Reply to this email directly or view it on GitHub https://github.com/jolicode/JoliCi/issues/11#issuecomment-47240070.
Olivier Mansour http://oliviermansour.com/ http://fr.linkedin.com/in/omansour
Hum, effectivement je vais essayer d'améliorer ces erreurs :
Si cela te dérange pas je veux bien la ligne qui foire dans ton before_script comme ca je reproduis et j'essaye de mettre un Joli affichage :)
Merci
Je suis bloqué avec la même erreur 500.
J'ai lancé un docker build .
dans le dossier de build (/tmp/.../php-5.4/
) et je n'ai aucune erreur.
Les commandes de la section script
de mon .travis.yml
ne sont pas exécutées. Pour qu'elles soient lancées correctement, je dois modifier à la main le Dockerfile
:
FROM jolicode/php54
RUN echo "#!/bin/bash\necho php" > /usr/local/bin/phpenv && chmod +x /usr/local/bin/phpenv
RUN mkdir -p $HOME/.phpenv/versions/php && ln -s /etc/php5 $HOME/.phpenv/versions/php/etc && ln -s /etc/php5/cli/php.ini /etc/php5/php.ini
ENV WORKDIR $HOME/project
ADD . $WORKDIR
WORKDIR ~/project
ENV TRAVIS_PHP_VERSION 5.4
RUN /bin/bash -c -l "cd $WORKDIR && composer install"
RUN /bin/bash -c -l "cd $WORKDIR && composer install --prefer-source"
RUN /bin/bash -c -l "cd $WORKDIR && composer global require 'kherge/box=~2.4' --prefer-source"
RUN /bin/bash -c -l "cd $WORKDIR && wget https://scrutinizer-ci.com/ocular.phar"
CMD /bin/bash -c -l "cd $WORKDIR && php vendor/atoum/atoum/scripts/coverage.php --format xml --output clover.xml && ~/.composer/vendor/bin/box build && vendor/bin/behat --format=progress"
Sur la dernière ligne, je dois remplacer CMD
par RUN
. Après avoir fait cette modification, je peux lancer le docker build .
et tout semble OK. Par contre, lorsque j'essaye de lancer un run
depuis le phar, j'ai toujours l'erreur 500...
Pour info, j'essaye de builder https://github.com/FriendsOfPHP/pickle
Ok je pense avoir trouvé,
@jubianchi Pour la partie script c'est normal c'est uniquement executé lorsque le build a été géneré, le comportement est le suivant :
En ce qui concerne l'erreur, le build est envoyé avec tous les fichiers pour pouvoir construire l'image, l'envoie de ces fichiers ce fait sous le format d'une archive tar
. J'utilise la librairie docker-php qui part du principe que le binaire se trouve dans le dossier /bin/tar
: https://github.com/stage1/docker-php/blob/master/src/Docker/Context/Context.php#L126
A mon avis tar ne doit pas ce trouver dans ce dossier dans vos cas, je vais modifier ce qu'il faut sur la lib pour que ce soit plus permissif au niveau de la location et faire une nouvelle release avec le bug corrigé.
En attendant vous pouvez essayer de me confirmer cela en vérifiant la location de tar
puis de créer le lien symbolique necessaire pour voir si cela marche ?
Merci :beers:
Vous pouvez essayer avec la dernière version et me dire si cela est bon ? https://github.com/jolicode/JoliCi/releases/download/v0.2.2/jolici.phar
Merci
@joelwurtz I will try to re run my use case this afternoon. I hope I will find some minutes for that ;)
:blush: oke thanks for switching to english
@joelwurtz everything works fine now! Thanks for your pathc :beer:
@cordoval Sorry for speaking french here :) let m sum up what happened:
sys_get_temp_dir()/jolici-builds/uniqid()/$build
and run a docker build
to see if everything works.tar
command from /bin
. It turns out that the tar
command could be somewhere else.With the last patches everything is OK :)
Thanks for the sum up @jubianchi !
This issue should be resolved, don't hesitate to reopen it @omansour if anything goes wrong :)
it's just work
thanks to you :)
excusez ma noobitude mais je n'arrive pas à builder un projet avec un .travis.yml
j'ai bien pull les images jolicode/php54 etc ...
je me mange un
dites moi si il faut plus de détails