Question

Nous utilisons actuellement un script d'installation et de configuration roulé à la main et un script d'intégration continue à la main pour créer et déployer notre application. Je cherche à formaliser cela un peu avec un système tiers conçu à ces fins.

J'ai déjà examiné Phing, et je comprends que c'est essentiellement comme Ant. Mais mon expérience avec les fourmis est quelque peu limitée, cela ne m'aide donc pas beaucoup. (La majeure partie du travail Java que j'ai effectué vient d'être déployée sous la forme d'un fichier jar).

J'ai déjà étudié le régulateur de vitesse et j'ai compris que phpUnderControl est un plug-in pour CC. Mais, Phing dit que cela fonctionne aussi avec CC. Donc, je ne suis pas clair sur le chevauchement ici. Ai-je besoin de Phing et de phpUnderControl pour fonctionner avec CruiseControl, ou sont-ils mutuellement exclusifs?

Ce dont j'ai besoin exactement, c'est de quelque chose qui puisse:

  • Extraire la source depuis le SVN
  • Installer la base de données à partir d'un fichier SQL
  • Générez des fichiers de configuration locaux à partir d'une série de modèles et d'un fichier ini
  • Lancez tous nos tests unitaires (actuellement ST, mais faciles à convertir en PHPUnit) et envoyez un courrier électronique à l'équipe de développement si un test se casse (avec une trace de pile bien sûr)
  • Générez la documentation de l'API pour l'application et mettez-la quelque part
  • Exécuter un rapport de couverture de test

Maintenant, nous avons à peu près tout cela sous une forme ou une autre. Mais ce serait bien de tout automatiser et de le regrouper en un seul processus.

Était-ce utile?

La solution

phing est à peu près écrit en PHP où phpUnderControl ajoute le support pour les projets PHP à CruiseControl et utilise phing ou ant sur le backend pour analyser le fichier build.xml et exécuter des commandes.

Je viens de configurer CruiseControl et phpUnderControl et ça fonctionne très bien. Il vérifie mon SVN, l'exécute via phpDocumentor, PHP_CodeSniffer et PHPUnit à chaque fois que nous effectuons une vérification. Comme tout est basé sur le fichier build.xml, vous pouvez exécuter à peu près tout le logiciel de votre choix.

Autres conseils

Je suis sûr que beaucoup de gens le diront au moment où je l'ai tapé, mais ...

Je sais que ce n'est pas du PHP, mais nous trouvons Capistrano ce type de travail. C'est vraiment un excellent logiciel.

Nous utilisons Phing et le coût de son installation est très bas. c'est vraiment facile à apprendre même si vous ne connaissez pas ANT. J'ai eu de très mauvaises expériences avec CruiseControl (instabilité - baisse aléatoire) - j'aime donc la simplicité de Phing. De plus, il est facilement extensible avec PHP (au cas où vous auriez une tâche personnalisée qu’ils ne prendraient pas en charge immédiatement).

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