Puppet-Umgebungen auf verschiedenen Desktops Organisierte

Puppet Umgebungen wie Entwicklung, Erprobung und Produktion können logisch auf verschiedenen Desktops organisiert werden, um die Verwaltung zu vereinfachen Systemkonfiguration.

Umgebungen bieten einen sicheren Weg, um Puppet-gesteuerte Systeme entwickeln. Ich organisiere die Puppet Entwicklungszyklus in drei solchen Umgebungen: Entwicklung, Erprobung und Produktion. Anwendungsfenster für jede Umgebung sind auf getrennte Desktops organisiert, Verwendung eines Desktop-Manager, dass ich in einem anderen Beitrag beschreiben. Dies wird in der folgenden Abbildung dargestellt.

Puppet Environments and Desktops

Puppet Umgebungen und Desktops


Entwicklungsumgebung auf der Entwicklung Desktop

Die Entwicklungsumgebung läuft auf meinem lokalen Workstation. Ich benutze eine Virtualisierungs-Tool, wie VMWare und VirtualBox, sowohl eine lokale Puppet Master sowie eine Entwicklung Knoten erstellen. The Puppet Master läuft Samba, den Anteil /etc/puppet Verzeichnis, so dass ich bearbeiten Puppet-Dateien mit einem Texteditor auf meinem Rechner.

Eine zweite virtuelle Server emuliert das Zielsystem, dass ich die Entwicklung. The Puppet Agent auf diesem Knoten eine Verbindung zum lokalen Puppet Master. Der Einfachheit halber, Schutz und Sicherheit, Ich verbinde die Entwicklung Knoten zu einem lokalen Puppet Master anstelle der, den ich verwenden in der Produktion.

Die Fenster zum Editieren der Textdateien, läuft Puppet, Monitoring Log-Dateien und Datei-Browser sind über die mehrere Monitore verteilt, als beschrieben in einem anderen Beitrag. Diese Gruppe von Fenstern definieren meine "Entwicklung Desktop". Wie entwickle ich den Knoten, Ich immer wieder neu zu laufen Puppet-Agent, Log-Meldungen überprüfen und testen lokal. Nach dem Abschluss jeder Entwicklung Geschichte, Ich überprüfe die Dateien in meinem Subversion-Repository.

Testumgebung auf dem Desktop-Testing

Die Puppet-Dateien, die in der Entwicklungsumgebung erstellt wurden, werden nun aus der Testumgebung geprüft. Anwendungen für die Testumgebung an einem neuen Desktop organisiert, mit meinem Desktop-Manager. Diese Anwendungen umfassen verschiedene Shell-Fenster und Browser-Fenster wie Selen Testreihen unter der Kontrolle von Jenkins laufen.

Die QS-Server in der Testumgebung ist identisch mit dem Production Server, abgesehen von einigen Kleinigkeiten wie IP-Adressen, Host-Namen und Zugriffsberechtigungen. Beispielsweise, die Website, die Sie gerade verwenden (jaroker.com) wurde zum ersten Mal unter Verwendung des QA-Server ausgeführt qa.jaroker.com.

Eine Kombination aus Puppet und Jenkins wird verwendet, um neu zu erstellen der Testumgebung. Die Datenbank von der Produktionsumgebung in die Testumgebung geladen (nachdem Sie Änderungen an solche Dinge wie den Hostnamen).

Selenium Tests durchführen Regression Kontrollen auf der Web-Anwendung auf dem Server QA. Für mein Projekt SOFIns, über 30 Regression Schecks werden automatisch ausgeführt. Dies ist neben der manuellen Prüfung.

Nachdem alle Kontrollen passieren, der Puppet-Konfiguration wird in der Produktionsumgebung eingesetzt.

Produktionsumgebung auf dem Desktop-Produktion

Der Produktionsumgebung verwendet die gleiche Code Puppet, die zuvor in der gleichen Testumgebung getestet. Deployment in die Produktion ist schnell und einfach und ohne Überraschungen, da alle Tests und Fehlersuche aufgetreten in den beiden vorangegangenen Umgebungen.

Desktop-Switching

Umschalten zwischen den Desktops ermöglicht es mir, zwischen den verschiedenen Umgebungen wechseln Puppet. Ich kann die Entwicklung, testen und schieben neue Änderungen an der Konfiguration Produktion schnell. Eine sehr komplexe Konfiguration wird nun organisiert und überschaubar.

7. Januar, 2013 Posted by Jon Jaroker Abgelegt in: Puppet Workflows