Environnements de marionnettes organisées sur différents bureaux

environnements de marionnettes, comme le développement, essais et la production peuvent être organisées logiquement sur les différents postes de travail pour simplifier la gestion de configuration du système.

Les environnements offrent un moyen sûr de développer des systèmes de marionnettes contrôlées. J'organise le cycle de développement de la marionnette dans trois de ces environnements: développement, essai et la production. fenêtres d'application pour chaque environnement sont organisées sur des postes distincts, l'aide d'un gestionnaire de bureau que je décris dans un autre post. Ceci est illustré sur la figure ci-dessous.

Puppet Environments and Desktops

Environnements de marionnettes et de bureau


Environnement de développement sur le bureau de développement

L'environnement de développement fonctionne sur mon poste de travail local. J'utilise un outil de virtualisation, tels que VMWare et VirtualBox, pour créer à la fois un Puppet Master local ainsi que d'un noeud de développement. Le Maître de marionnettes fonctionne Samba pour partager l' /etc/puppet répertoire afin que je puisse éditer des fichiers de marionnettes utilisant un éditeur de texte sur mon poste de travail.

Un deuxième serveur virtuel émule le système cible que je développe. L'agent de marionnettes en cours d'exécution sur ce nœud se connecte au maître de marionnette locale. Pour plus de simplicité, sécurité et la sûreté, Je connecte le noeud de développement à un Puppet Master local au lieu de celui que j'utilise en production.

Les fenêtres pour l'édition des fichiers texte, course Puppet, les fichiers journaux de suivi et navigateur de fichiers sont répartis sur plusieurs moniteurs, comme décrit dans un autre post. Cet ensemble de fenêtres définir mon "Développement de bureau". Comme je développe le nœud, J'ai constamment ré-exécuter l'agent de marionnettes, vérifier les messages du journal et test localement. Après la fin de chaque histoire de développement, Je vérifie les fichiers dans mon dépôt Subversion de code.

Environnement de test sur le bureau de test

Les fichiers de marionnettes qui ont été créés dans l'environnement de développement sont maintenant vérifié à l'environnement d'essai. Applications pour l'environnement d'essai sont organisés sur un nouvel ordinateur de bureau, l'aide de mon gestionnaire de bureau. Ces applications comprennent différentes fenêtres d'obus et les fenêtres de navigateur, tels que des suites de tests de sélénium s'exécutent sous le contrôle de Jenkins.

Le serveur QA utilisés dans l'environnement de test est identique au serveur de production, à l'exception de quelques détails mineurs tels que les adresses IP, noms d'hôte et les autorisations d'accès. Par exemple, le site Web que vous utilisez actuellement (jaroker.com) a d'abord été testé en utilisant le serveur QA course qa.jaroker.com.

Une combinaison de marionnettes et Jenkins est utilisée pour recréer l'environnement d'essai. La base de données de l'environnement de production est chargé dans l'environnement d'essai (après avoir modifié des choses telles que le nom d'hôte).

tests Selenium effectuent des contrôles de régression sur l'application Web en cours d'exécution sur le serveur QA. Pour mon projet de SOFIns, sur 30 contrôles de régression sont exécutés automatiquement. C'est en plus des tests manuels.

Après toutes les vérifications passent, la configuration de marionnettes est appliquée à l'environnement de production.

environnement de production sur le bureau de production

L'environnement de production utilise le même code de marionnettes qui a déjà été testé à l'identique environnement de test. Déploiement de production est simple et rapide et sans surprise car tous les tests et le dépannage ont eu lieu dans les deux environnements précédents.

Bureau de commutation

La commutation entre les ordinateurs de bureau me permet de passer entre les différents environnements de marionnettes. Je peux développer, essai et pousser de nouvelles modifications de configuration à la production rapidement. Un système de configuration très complexe est désormais organisé et gérable.

7 janvier, 2013 Publié par Jon Jaroker Classé dans: Workflows de marionnettes