Lisez ceci dans d'autres langues:
English, 日本語, Portugues do Brasil, Française, Español.
L'idée de base d'un flux de travail est de lier plusieurs modèles de travail ensemble. Ils peuvent ou non partager l'inventaire, les Playbooks ou même les autorisations. Les liens peuvent être conditionnels:
-
si le modèle de travail A réussit, le modèle de travail B est automatiquement exécuté par la suite
-
mais en cas d'échec, le modèle de travail C sera exécuté.
Et les workflows ne sont même pas limités aux modèles de travail, mais peuvent également inclure des mises à jour de projet ou d'inventaire.
Cela permet de nouvelles applications pour Ansible Tower: différents modèles de travaux peuvent s'appuyer les uns sur les autres. Par exemple. l'équipe de mise en réseau crée des playbooks avec leur propre contenu, dans leur propre référentiel Git et ciblant même leur propre inventaire, tandis que l'équipe des opérations a également ses propres repos, playbooks et inventaire.
Dans ce laboratoire, vous apprendrez à configurer un flux de travail.
Vous avez deux départements dans votre organisation:
-
L'équipe des opérations Web qui développe des Playbooks dans leur propre référentiel Git.
-
L'équipe d'applications Web, qui développe des applications Web JSP pour Tomcat aussi dans leur référentiel Git.
Lorsqu'il y a un nouveau serveur Tomcat à déployer, deux choses doivent se produire:
-
Tomcat doit être installé, le pare-feu doit être ouvert et Tomcat doit démarrer.
-
La version la plus récente de l'application Web doit être déployée.
Pour vous faciliter la tâche, tout ce dont vous avez besoin existe déjà dans un référentiel Github: Playbooks, fichiers JSP, etc. Il vous suffit donc juste de les coller ensemble.
Remarque
Dans cet exemple, nous utilisons deux branches différentes du même référentiel pour le contenu des équipes distinctes. En réalité, la structure de vos référentiels SCM dépend de nombreux facteurs et peut être différente.
Vous devez d'abord configurer le dépôt Git comme des projets comme vous le feriez normalement. Vous l'avez déjà fait auparavant, essayez de le faire vous-même. Des instructions détaillées peuvent être trouvées ci-dessous.
Avertissement
Si vous êtes toujours connecté en tant qu'utilisateur wweb, déconnectez-vous et reconnectez-vous en tant qu'utilisateur admin.
Créez le projet pour les opérations Web. Dans la vue **Projets **, cliquez sur le bouton plus vert et remplissez.
Parametre | Valeur |
---|---|
NOM | Webops Git Repo |
ORGANISATION | Default |
SCM TYPE | Git |
SCM URL | https://github.com/ansible/workshop-examples.git |
SCM BRANCH/TAG/COMMIT | webops |
SCM UPDATE OPTIONS | Tick all three boxes. |
- Cliquez sur ENREGISTRER
Créez le projet pour les développeurs d'applications. Dans la vue Projets cliquez sur le bouton plus vert et remplissez:
Parametre | Valeur |
---|---|
NOM | Webdev Git Repo |
ORGANISATION | Default |
SCM TYPE | Git |
SCM URL | https://github.com/ansible/workshop-examples.git |
SCM BRANCH/TAG/COMMIT | webdev |
SCM UPDATE OPTIONS | Tick all three boxes. |
- Cliquez sur ENREGISTRER
Vous devez maintenant créer des modèles comme vous le feriez pour des travaux "normaux".
Accédez à la vue Modèles, cliquez sur le bouton vert plus et choisissez Modèle de taches: Utilisez les valeurs suivantes:
Parametre | Valeur |
---|---|
NOM | Tomcat Deploy |
TYPE DE TACHE | Run |
INVENTAIRE | Workshop Inventory |
PROJET | Webops Git Repo |
PLAYBOOK | rhel/webops/tomcat.yml |
CREDENTIAL | Workshop Credentials |
OPTIONS | Enable privilege escalation |
- Cliquez sur ENREGISTRER
Accédez à nouveau à la vue Modèles, cliquez sur le bouton plus, choisissez Modèle de tâche pour ajouter une nouvelle tache. Utilisez les valeurs suivantes:
Parametre | Valeur |
---|---|
NOME | Web App Deploy |
TYPE DE TACHE | Run |
INVENTAIRE | Workshop Inventory |
PROJET | Webops Git Repo |
PLAYBOOK | rhel/webdev/create_jsp.yml |
CREDENTIAL | Workshop Credentials |
OPTIONS | Enable privilege escalation |
- Cliquez sur ENREGISTRER
Astuce
Si vous voulez savoir à quoi ressemblent les Playbooks Ansible, consultez l'URL Github et regardez les branches appropriées.
Et maintenant, vous allez enfin configuré le workflow. Les flux de travail sont configurés dans la vue Modèles, vous avez peut-être remarqué que vous pouvez choisir entre Modèle de Tache et Modèle de workflow lors de l'ajout d'un modèle, ce qui est finalement logique.
-
Accédez à la vue Modèles et cliquez sur le bouton plus vert. Cette fois, choisissez Modèle de workflow
-
NOM: Déployer le serveur Webapp
-
ORGANISATION: Par défaut
-
-
Cliquez sur ENREGISTRER
-
Après avoir enregistré le modèle, le Workflow Visualizer s'ouvre pour vous permettre de créer un flux de travail. Vous pouvez ensuite ouvrir à nouveau le Workflow Visualizer en utilisant le bouton sur la page de détails du modèle.
-
Cliquez sur le bouton DEMARRER, un nouveau nœud s'ouvre. À droite, vous pouvez affecter une action au nœud, vous pouvez choisir entre MODELE, PROJECT SYNC et SYNCRONISATION DES INVENTAIRES.
-
Dans cet atelier, nous allons lier les travaux ensemble. Sélectionnez donc le travail Tomcat Deploy et cliquez sur SELECTIONNER.
-
Le nœud est annoté avec le nom du travail. Passez le pointeur de la souris sur le nœud, vous verrez un symbole vert + et bleu apparaître.
Astuce
L'utilisation du "x" rouge vous permet de supprimer le nœud, le vert plus vous permet d'ajouter le nœud suivant et le symbole de chaîne permet de le lier un autre nœud.
-
Cliquez sur le signe vert +
-
Choisissez Web App Deploy comme prochaine tâche
-
Laissez Exécuter réglé sur En cas de succès
Astuce
Le type permet des workflows plus complexes. Vous pouvez définir différents chemins d'exécution pour les exécutions réussies et les échecs du Playbook.
-
Cliquez sur SELECTIONNER
-
Cliquez sur ENREGISTRER dans la vue VISUALISATEUR DE WORKFLOW
-
Cliquez sur ENREGISTRER dans la vue Modèle de workflow
Astuce
Le VISUALISATEUR DE WORKFLOW a des options pour configurer des workflows plus avancés, veuillez vous référer à la documentation.
Votre workflow est prêt à démarrer, lancez-le.
- Cliquez directement sur le bouton bleu LANCEMENT ou accédez à la vue Modèles et lancez le flux de travail Déployer Webapp Server en cliquant sur l'icône de fusée.
Notez comment l'exécution du flux de travail est affichée dans la vue des travaux. Contrairement à l'exécution normale d'un travail de modèle de travail cette fois, il n'y a pas de sortie de playbook à droite, mais une représentation visuelle des différentes étapes du flux de travail. Si vous souhaitez consulter les playbooks réels derrière cela, cliquez sur DÉTAILS à chaque étape. Si vous souhaitez revenir d'une vue détaillée au flux de travail correspondant, cliquez sur le bouton dans la ligne Tâches de la partie DETAILS à gauche côté de l'aperçu de l'emploi.
Une fois le travail terminé, vérifiez si tout a bien fonctionné: connectez-vous à node1
, node2
ou node3
à partir de votre hôte de contrôle et exécutez:
$ curl http://localhost:8080/coolapp/
Astuce
Vous devrez peut-être attendre quelques minutes jusqu'à ce que Tomcat réponde aux demandes.
Navigation
Exercice précédent - Exercice suivant
Cliquez ici pour revenir à l'atelier Ansible pour Red Hat Enterprise Linux