Si vous gérez les dépendences de votre projet via Composer, lors de la commande « php composer.phar update« , le bundle Symfony va exécuter cache:clear à la fin de l’update.
Problème: si votre timezone n’est pas définie dans le php.ini, vous allez rencontrer cette erreur:
Warning: date_default_timezone_get(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Europe/Berlin’ for ‘CET/1.0/no DST’ instead in /home/test5/www/test/Virgule/vendor/monolog/monolog/src/Monolog/Logger.php line 112
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-update-cmd event terminated with an exception
Dans certains cas vous n’avez pas la possibilité de modifier le php.ini, et cette commande étant lancée via le bundle Symfony vous ne pouvez pas le passer en paramètre de l’exécutable php-cli. Il vous faut donc définir cette propriété dans votre propre php.ini, voir ici.
PHP offrant la possiblité d’aller chercher votre fichier dans les répertoires parents, j’ai résolu mon problème en le placant dans le répertoire .jenkins contenant les données Jenkins. Les commandes Symfony s’exécutent ainsi sans problème.
En bonus une présentation sympa sur l’intégration continue avec Jenkins: https://fr.slideshare.net/hhamon/intgration-continue-des-projets-php-avec-jenkins