Contrôle de version Projet Web PHP

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 ?

请先 登录 后评论

6 réponses

Shawn

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...).

请先 登录 后评论
Marcel Levy

Nous étions dans une situation similaire, et voici ce que nous avons fini par faire :

  • Configurez deux branches : la branche de publication et la branche de développement.
  • Pour la branche de développement, incluez un crochet post-validation qui déploie le dépôt sur le serveur de développement, afin que vous puissiez tester.
  • Une fois que vous êtes prêt, vous fusionnez vos modifications dans la branche de publication. Je suggérerais également de mettre un hook post-commit pour le déploiement là-bas.

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.

请先 登录 后评论
cmcculloh

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.

请先 登录 后评论
Justin Tanner

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.

请先 登录 后评论
dragonmantank

Voici ce que nous faisons :

  • Chaque développeur dispose d'une VM configurée comme notre serveur d'intégration
  • Le serveur d'intégration dispose d'un espace pour le tronc, chaque utilisateur et quelques emplacements pour les succursales
  • Le serveur de production
  • Les crochets sont dans Subversion pour envoyer des e-mails lorsque des commits sont effectués

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.

请先 登录 后评论
mercu43

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.

请先 登录 后评论