Question

Dans un avenir proche, il me restera environ deux semaines pour déplacer et améliorer notre environnement de développement au travail.

Nous développons principalement un grand projet PHP / MySQL avec 2 à 10 développeurs.

À l'heure actuelle, nous avons un serveur de développement, exécutant apache avec mod_userdir, chaque développeur a un dossier / public_html dans sa maison (accessible par samba). Pour VCS et Project Management / Issuetracking, nous utilisons Subversion et Trac. Tester / Déployer prend quelques étapes manuelles, pas beaucoup d’automatisation.

Mes plans pour la nouvelle configuration incluent les modifications suivantes aux éléments existants:

  • Intégration continue
  • Intégrez CI à Trac, créez / trouvez un plug-in permettant de lancer des actions après le succès ou l'échec de la progression de la construction (c'est-à-dire déployer vers staging / live)
  • Créer des scripts de déploiement automatisés (un clic)
  • Intégrez ( doxygen ) - la documentation dans la progression de la construction et, d'une manière ou d'une autre, dans Trac
  • Ajoutez la gestion des versions automatique
  • Ajoutez une autre couche de surveillance (les nagios locaux surveillent notre système de production-nagios)
  • Ajoute un esclave de réplication MySQL qui tourne tous les soirs et que les développeurs peuvent ensuite utiliser pour tester des éléments sur des données up2date
  • Consulter les plans de sauvegarde
  • Documentez comment et pourquoi j'ai tout configuré de cette manière

Avez-vous des conseils / astuces pour améliorer davantage? Que devrions-nous faire différemment?

Était-ce utile?

La solution

Je m'assurerais que vous écriviez vos scripts de déploiement automatisé de manière à ce qu'ils puissent être utilisés par votre outil d'intégration continue. Hudson (et CruiseControl, je suppose) encapsule ces scripts et fournit une interface intéressante.

Hundson est facile à installer et est fourni avec un plug-in Trac , SVN, CVS, plugins Git et un plugin Doxygen et autres pour presque rien vous pouvez penser. Avertissement: je n'ai pas utilisé tous ces plugins et ils ne feront peut-être pas exactement ce que vous voulez ...

Si vous avez un budget pour le logiciel CI, alors TeamCity vaut la peine d'être examiné (ou utilisez-vous Bitten ?). ?).

Vous avez une belle opportunité, alors bonne chance!

Autres conseils

Ma seule suggestion serait de ne pas consacrer trop de temps à la

  • Documentez comment et pourquoi j'ai tout configuré de cette manière

Il s'agit du dernier élément de ma liste pour améliorer notre environnement de développement et je ne l'ai toujours pas fait.

Chaque partie est toujours modifiée ou améliorée pour nous fournir une meilleure fonctionnalité ou une utilisation plus facile. Je suggérerais d'essayer de garder le " pourquoi " sous forme de commentaires aussi proches que possible de la mise en œuvre. C’est le seul endroit où un changement de système en aura besoin.

Peut-être aussi un grand diagramme montrant les liens et les noms des serveurs physiques, mais à part ça, j'ai trouvé la documentation compliquée.

A bientôt

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