Intégration continue sur RaspberryPI avec PHPCI

Cet article a été publié depuis plus de 6 mois, cela signifie que le contenu peut ne plus être d'actualité.

Je possède un RaspberryPi que j'utilise essentiellement en tant que serveur personnel. J'y entrepose entre autres quelques petits dépôts Git que je souhaite garder privée. J'y ai également quelques scripts qui me permettent d'automatiser le déploiement de quelques applications (comme ce blog par exemple).

Pour automatiser un certain nombre de tâches et pour éviter de le faire manuellement, je souhaitais utiliser un outil de type intégration continue. Mon premier choix c'est alors porté sur le bien connu Jenkins. Bien évidemment, vu la puissance de la machine (que se soit un RPi 1 ou 2), Jenkins est lent et ne permet pas d'être utilisé de manière fluide.

En recherchant sur le Web des solutions alternatives, je suis retombé sur PHPCI, une plateforme d'intégration continue spécialement conçue pour PHP et développé en PHP.

PHPCI ne se limite pas aux projets PHP. Je l'utilise pour une variété de tâches, notamment grâce à un plugin "Shell" qui me permet d'exécuter des commandes bash sur mes projets.

La solution est simple, légère et extrêmement fluide sur mon Raspberry2. Un vrai bonheur ! Comme je le racontais sur Twitter, je regrette vraiment de ne pas m'y être penché plus tôt.

En plus, le code de l'outil est plutôt simple et pouvoir mettre les mains dans le code est un vrai bonheur. De plus, l'équipe du produit (développé par une société anglaise pour ces besoins) est très sympathique et réactive sur Github.

Bien que cela ne fasse que quelques semaines que je l'utilise, l'outil me semble efficace et me semble une réelle alternative à Jenkins. Le seul véritable inconvénient, c'est le manque de plugin qui se fera sans doute sentir pour des projets complexes.