Travis: Composer `fails to download` packages

Dans nos builds travis, il arrive que composer ne parvienne pas à télécharger et installer correctement des packages : le message suivant s’affiche :

{% highlight bash %} Failed to download doctrine/annotations from dist: Could not authenticate against github.com {% endhighlight %}

Ce message est dû aux limites de l’API de Github, qui limite le téléchargement par adresse IP. Les machines virtuelles hébergées par travis partageant la même adresse IP, les limites de Github sont vite atteintes.

[Lire plus]

Doctrine migrations et multiples bundles avec composer

Un de nos projets (Chill, un logiciel pour services sociaux) assemble plusieurs bundles Symfony2 dans une application. Il est également prévu que les utilisateurs puissent, selon leurs besoins, installer plusieurs bundles de leur choix, voire d'en créer de nouveaux. Les bundles peuvent avoir éventuellement besoin de la base de données: ils doivent alors être capables de créer des tables, de les manipuler, etc.

Pour gérer la création du schéma de la base de données, nous utilisons DoctrineMigrationsBundle, un composant qui s’intègre à l’application et permet de gérer les modifications du schéma. Les modifications sont enregistrées dans des classes de migrations, dont la structure doit être celle-ci :

[Lire plus]