Question

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 aucun contrôle de version.

Quelle est la bonne façon et la meilleure façon de contrôler la version ?

Nous avons un SVN configuré, mais nous devons juste trouver un bon moyen d'enregistrement et de sortie qui nous permette de tester sur le serveur de développement.Des idées?

Était-ce utile?

La solution

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

  • Créez deux branches : la branche de publication et de développement.
  • Pour la branche de développement, incluez un hook post-commit qui déploie le référentiel 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 release.Je suggérerais également d'installer un hook post-commit pour le déploiement là-bas.

Vous pouvez également mettre en place 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, même si vous disposez d'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 robot FTP.

Autres conseils

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 Trunk, chaque utilisateur, et quelques emplacements pour les branches
  • Le serveur de production
  • Les hooks sont dans Subversion pour envoyer un courrier électronique lorsque les validations sont effectuées

Au début d'un projet, l'utilisateur crée une branche et la vérifie sur sa VM personnelle et récupère une copie vierge de la base de données.Ils font leur travail et s’engagent au fur et à mesure.

Une fois qu'ils ont tout terminé dans leur espace personnel, ils se connectent au serveur d'intégration et consultent leur branche, effectuent leurs tests, etc.Lorsque tout ce qui passe, leur branche est fusionnée dans Trunk.

Le tronc est reconstruit, la suite complète de tests est exécutée et si tout va bien, il obtient le grand sceau d'approbation, étiqueté dans SVN et promu en production à la fin de la nuit.

Si à un moment donné une validation par quelqu'un d'autre est effectuée, nous recevons un e-mail et pouvons fusionner ces modifications dans nos branches individuelles.

haricot magique dispose de hooks post-commit intégrés pour le déploiement sur des serveurs de développement, de transfert et de production.

Une façon d'utiliser Subversion pour le développement PHP consiste également à 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,

  • Faire un dépôt

  • Ajoutez l'intégralité de la structure de votre document PHP de votre projet

  • Récupérez une copie de ce dépôt au bon endroit sur votre serveur de développement

  • Utilisez un hook 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 archive 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 la dernière vérification.

Qu'en est-il de quelque chose de distribué ?Vous pouvez par exemple commencer avec Mercurial, essayer différents flux de travail et voir celui qui vous convient le mieux.

Chacun de vous pourrait l'exécuter localement, ou sur votre propre serveur de développement (ou même le même avec un port différent...).

Une méthode possible (il existe probablement de meilleures méthodes) :

Chacun de vous devrait 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 à tout moment), vous fusionnez tout ce que vous êtes prêt à tester, vous l'archivez sur le serveur de développement et vous le testez.

Un autre outil que vous pouvez utiliser pour les builds est ÉquipeCité qui est gratuit pour 20 configurations de build (assez pour la plupart des petites entreprises/projets.) De cette façon, vous pouvez exécuter vos tests ainsi que planifier des builds.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top