Verbesserung unserer Entwicklungsumgebung bei der Arbeit

8

In naher Zukunft werde ich zwei Wochen Zeit haben, um unsere Entwicklungsumgebung bei der Arbeit zu bewegen und zu verbessern.

Wir entwickeln hauptsächlich ein großes PHP / MySQL-Projekt mit 2-10 Entwicklern.

Im Moment haben wir einen Dev-Server, auf dem Apache mit mod_userdir läuft, jeder Dev hat einen / public_html-Ordner in seinem (Samba-zugänglichen) Home. Für VCS und Projektmanagement / Issuetracking verwenden wir Subversion und Trac. Testing / Deployment führt einige manuelle Schritte durch, nicht viel Automatisierung.

Meine Pläne für das neue Setup beinhalten die folgenden Änderungen an den vorhandenen Sachen:

  • Kontinuierliche Integration
  • CI in Trac integrieren, ein Plug-in erstellen / finden, das Aktionen nach Erfolg oder Misserfolg des Build-Fortschritts anbietet (d. h. Bereitstellung in Staging / Live)
  • Erstellen Sie automatisierte Deployment-Skripte (mit einem Klick)
  • Integriere ( Doxygen ) -Dokumentation in den Build-Fortschritt und irgendwie in Trac
  • Fügen Sie automatische Versionierung hinzu
  • Fügen Sie eine weitere Überwachungsschicht hinzu (lokale Nagios, die unser Produktionssystem-Nagios überwachen)
  • Fügen Sie einen nächtlichen MySQL Replication Slave hinzu, der dann von den Entwicklern verwendet werden kann, um Daten auf up2date Daten zu testen
  • Überprüfen Sie die Backup-Pläne
  • Dokumentieren Sie, wie und warum ich alles auf diese Weise eingerichtet habe

Gibt es Tipps / Hinweise, was noch verbessert werden kann? Was sollten wir anders machen?

    
Karsten 13.01.2009, 10:21
quelle

2 Antworten

5

Ich würde sicherstellen, dass Sie Ihre automatisierten Bereitstellungsskripts so schreiben, dass sie von Ihrem kontinuierlichen Integrationstool verwendet werden können. Hudson (und CruiseControl, ich vermute), wickeln diese Skripte im Grunde ein und stellen ein nettes Front-End zur Verfügung.

Hundson ist einfach zu installieren und kommt mit einem Trac-Plugin , SVN, CVS, Git Plugins und ein Doxygen Plugin und andere für fast alles, was Sie sich vorstellen können. Vorbehalt: Ich habe nicht alle diese Plugins verwendet und sie tun vielleicht nicht genau das, was Sie wollen ...

Wenn Sie ein Budget für CI-Software haben, dann ist TeamCity einen Blick wert (oder verwenden Sie Bitten ?).

Sie haben eine großartige Gelegenheit, also viel Glück!

    
lagoa89 13.01.2009, 11:07
quelle
2

Mein einziger Vorschlag wäre nicht, zu viel Zeit auf dem

zu verbringen
  • Dokumentieren Sie, wie und warum ich alles auf diese Weise eingerichtet habe

Dies ist der letzte Punkt auf meiner Liste zur Verbesserung unserer Entwicklungsumgebung und ich habe es immer noch nicht gemacht.

Jedes Teil wird immer modifiziert oder verbessert, um uns bessere Funktionalität oder einfachere Verwendung zu bieten. Ich würde vorschlagen, zu versuchen, das "Warum" als Kommentare so nahe wie möglich zu halten, wo Sie es tatsächlich implementieren. Dies ist der einzige Ort, an dem jemand Ihr System ändern muss.

Vielleicht auch ein großes Diagramm, das Links und Namen von physischen Servern zeigt, aber abgesehen davon, dass ich die Dokumentation als problematisch empfunden habe.

Prost

    
David A Gibson 13.01.2009 10:33
quelle