Quelqu'un at-il un développement/mise en scène/le déploiement de flux de travail avec php/mysql?
Je suis en train de réfléchir à un bon flux de travail pour php/mysql développement web.
Quelqu'un ai quelques conseils?
Vous devez vous connecter pour publier un commentaire.
Voici ce que nous faisons:
Nous avons quelques scripts personnalisés qui prennent soin de notre base de données, mises à niveau et à exercer des pressions à la Production. Pour notre base de données nous conservons toutes les deltas dans un seul dossier et le script vérifie le courant niveau de DB contre la disposition des deltas et, si nécessaire, s'applique à eux.
Pour la promotion de la Production, nous avons un autre script qui récupère toutes les données de production et exécute ensuite rsync pour pousser les changements.
Vous ne mentionnez pas ce niveau de contrôle que vous avez sur les serveurs, mais aussi l'ensemble du processus serait le même pour le développement général.
Je pense que tout le monde fait ces choses légèrement différentes, en fonction de l'application exacte. Voici notre programme d'installation:
Avant de une de presse:
/trunk
./tags/yymmddhhiiss
.Une fois qu'il est stabilisé, nous exécutez le script de déploiement:
/current
pour pointer vers le nouvel extrait de la balise.Si nous avons besoin de pousser un petit changement rapidement, nous fusionner à la balise courante, et l'on peut alors exécuter un beaucoup plus simple correctif processus sur le serveur:
svn update
Noter qu'il existe certains outils visant à structurer/l'automatisation de ces processus. Phing est l'un, et Symfony a son propre système de batch, qui a utilisé pour être un projet autonome appelé pake. Et comme si cela ne suffisait pas, le Zend Framework sont sur le point de créer leur propre variante. C'est vraiment un peu de désordre, mais Phing est probablement le plus largement utilisé. Vous pouvez également utiliser quelque chose de non-spécifiques à php, comme Ant ou Capistrano. Nous venons d'utiliser des scripts shell, qui, fondamentalement, remplit le même besoin.
Nous avons aussi un continue de construire en cours d'exécution, qui vérifie à partir du tronc et exécute tous les tests. Actuellement, nous avons juste une collection de base de scripts shell pour le faire, mais nous envisageons de passer à PhpUnderControl ou xinc.
La migrations étape mérite peut-être un peu d'explication. Ces contient des modifications à la base de données, ainsi que d'autres tâches qui doivent être exécutées pour la nouvelle version. Nos migrations sont un peu simple pour le moment: il Nous suffit d'avoir un dossier avec un tas de
.php
et.sql
scripts et le cours de la migration, theese sont exécutées en séquence. La façon dont nous gardons la trace de ce qui a été exécuté, est en vidant lemigrations
dossier après une nouvelle balise a été faite. Il serait sans doute plus intelligent d'utiliser la base de données de journal dont les changements ont été bien qu'. Nous sommes considérés comme l'adoption de quelque chose comme ruckusing à cette fin.