Chacun de vous peut l'exécuter localement, ou sur votre propre serveur de développement (ou même le même avec un port différent...).
Nous avons un projet PHP dont nous aimerions contrôler la version. À l'heure actuelle, nous sommes trois à travailler sur une version de développement du projet qui réside dans un dossier externe auquel tous nos IDE Eclipse sont liés, et donc sans contrôle de version.
Quelle est la bonne et la meilleure façon de contrôler la version ?
Nous avons configuré un SVN, mais nous avons juste besoin de trouver un bon moyen d'enregistrement et de déconnexion qui nous permette de tester sur le serveur de développement. Des idées ?
Chacun de vous peut l'exécuter localement, ou sur votre propre serveur de développement (ou même le même avec un port différent...).
Nous étions dans une situation similaire, et voici ce que nous avons fini par faire :
Vous pouvez également configurer des serveurs de développement individuels pour chacun des membres de l'équipe, sur leurs postes de travail. Je trouve que cela accélère un peu les choses, bien que vous ayez un peu plus de temps de configuration.
Nous avons dû utiliser un seul serveur de développement, car nous utilisions un CMS propriétaire et rencontrions des problèmes de licence. Notre hook post-commit était donc un simple bot FTP.
Une méthode possible (il existe probablement de meilleures méthodes) :
Chacun d'entre vous doit avoir sa propre version extraite du projet.
Ayez une copie locale du serveur sur votre ordinateur et testez-la tout au long de la journée. Ensuite, à la fin de chaque journée (ou à chaque fois), vous fusionnez tout ce que vous êtes prêt à tester, et vous le vérifiez sur le serveur de développement et le testez.
Une façon d'utiliser subversion pour le développement PHP consiste à configurer un référentiel pour un ou les trois développeurs, et à utiliser ce référentiel, davantage comme un outil de synchronisation que comme un véritable contrôle de version.
Vous pourriez,
Créer un dépôt
Ajoutez toute la structure de votre document PHP de votre projet
Versez une copie de ce dépôt au bon endroit sur votre serveur de développement
Utilisez un crochet svn, qui s'active lors de la validation
Ce hook mettra automatiquement à jour le contenu du serveur de développement, chaque fois qu'un membre de l'équipe vérifiera un code.
Hook réside dans :
svn_dir/repo_name/hooks/post-commit
Et pourrait ressembler à :
/usr/bin/svn up /path_to/webroot --username svn_user --password svn_pass
Cela mettra à jour votre copie de travail sur le serveur de développement avec le dernier enregistrement.
Voici ce que nous faisons :
Au début d'un projet, l'utilisateur crée une branche et la vérifie sur sa machine virtuelle personnelle, ainsi qu'une copie propre de la base de données. Ils font leur travail, en s'engageant au fur et à mesure.
Une fois qu'ils ont tout terminé dans leur propre espace personnel, ils se connectent au serveur d'intégration et vérifient leur branche, exécutent leurs tests, etc. Lorsque tout ce qui passe leur branche est fusionnée dans Trunk.
Trunk est reconstruit, la suite complète de tests est exécutée, et si tout va bien, il obtient le grand sceau d'approbation, marqué dans SVN et promu en production à la fin de la nuit.
Si à tout moment un commit par quelqu'un d'autre est fait, nous recevons un e-mail et pouvons fusionner ces changements dans nos branches individuelles.
Qu'en est-il de quelque chose distribué ? Vous pouvez commencer par exemple avec Mercurial, essayer différents flux de travail et voir celui qui vous convient le mieux.