
Creep est un outil de déploiement incrémental (i.e. il ne déploie que les fichiers modifiés) qui peut travailler à partir d'un repo Git ou d'un simple dossier, et transfère ses fichiers via FTP ou SSH. C'est un outil que j'utilise depuis quelques années pour déployer yAronet, et à l'époque je n'avais rien trouvé de facile à utiliser pour cet usage (le serveur de production de yAronet n'est accessible qu'en FTP donc rsync n'était pas une option, et à l'inverse mon serveur de dev n'est accessible qu'en SSH). Aujourd'hui je viens de faire une recherche et il semble que PHPloy aurait pu être une bonne option s'il avait existé 2 ans plus tôt, mais je pense que Creep conserve quelques avantages :
- Il peut déployer des dossiers qui ne sont pas gérés par Git (dans ce cas il mémorise le hash des fichiers plutôt que de reposer sur l'historique Git) ;
- Il fonctionne aussi par SSH simple et utilise un mode de transfert plus efficace dans ce cas (tarball de tous les fichiers, transfert et décompression sur le serveur cible) ;
- On peut configurer des traitements à effectuer pour certains fichiers, par exemple minifier automatiquement le JavaScript ou compiler les CSS avant transfert ;
- Le code est en Python sans dépendance, pour un outil en ligne de commande c'est plus léger qu'un programme en PHP qui dépend de plusieurs bibliothèques.
Je n'ai passé ce projet sous GitHub que depuis peu donc la documentation vaut ce qu'elle vaut, mais si ça peut servir à quelqu'un je serais intéressé par vos avis

https://github.com/r3c/creep