Frage

In naher Zukunft werde ich einige 2 Wochen erhalten zu bewegen und unsere Entwicklungsumgebung bei der Arbeit zu verbessern.

Wir entwickeln in erster Linie eine große PHP / MySQL-Projekt mit 2-10-Entwickler.

Im Moment haben wir einen dev-Server haben, läuft Apache mit mod_userdir hat jeder Entwickler einen / public_html Ordner in seinem (Samba barrierefrei) nach Hause. Für VCS und Projektmanagement / Issuetracking verwenden wir Subversion und Trac. Testing / Deployment dauert einige manuelle Schritte, nicht viel Automatisierung gibt.

Meine Pläne für die neue Einrichtung sind die folgenden Änderungen an der bestehenden Sachen:

  • Continuous Integration
  • Integrieren CI zu Trac, erstellen / ein Plugin finden, welche Aktionen nach dem Erfolg oder Misserfolg des Build-Fortschritts starten bietet (das heißt bereitstellen, um Staging / live)
  • Erstellen Sie automatisierte Bereitstellung-Skripts (mit einem Klick)
  • Integrieren ( doxygen ) -Dokumentation in den Build-Fortschritt und irgendwie in Trac
  • Fügen Sie automatische Versionierung
  • Fügen Sie eine weitere Ebene der Überwachung (lokale nagios Produktionssystem-nagios Überwachung)
  • Fügen Sie eine nächtliche laufenden MySQL-Replikation Slave, die dann von den Entwicklern verwendet werden Sachen auf up2date Daten zu testen
  • Überprüfen Sie die Backup-Pläne
  • Dokument, wie und warum ich setze alles auf diese Weise nach oben

Haben Sie irgendwelche Tipps / Hinweise, was man weiter verbessert werden kann? Alles, was wir in einer anderen Art und Weise tun sollen?

War es hilfreich?

Lösung

Ich würde sicherstellen, dass Sie Ihre automatisierte Bereitstellung Skripts so schreiben, dass sie durch Ihre kontinuierliche Integration-Tool verwendet werden kann. Hudson (und CruiseControl- ich vermute) im Grunde nur diese Skripte und bietet ein raffiniertes Front-End.

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 Sie können sich vorstellen. Vorab: Ich habe nicht alle diese Plugins verwendet und sie können nicht genau das tun, was Sie wollen ...

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

Sie haben eine große Chance, so viel Glück!

Andere Tipps

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

verbringen
  • Dokument, wie und warum ich setze alles auf diese Weise nach oben

Dies ist der letzte Punkt auf meiner Liste für unsere Entwicklungsumgebung zu verbessern, und ich habe es noch nicht getan.

Jeder Teil immer geändert wird oder verbesserte uns eine bessere Funktionalität zur Verfügung zu stellen oder die Verwendung einfacher. Ich würde vorschlagen, das „Warum“ als Kommentare so nah an, wo man tatsächlich umzusetzen wie möglich zu halten versuchen. Dies ist der einzige Ort, jemand Ihr System ändern, wird sie brauchen.

Vielleicht auch ein großer Diagramm Link und Namen des physischen Servers zeigt aber anders als die Ich habe die Dokumentation ein Streit sein.

Prost

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top