#Atelier - Les projets & modèles

Lisez ceci dans d’autres langues:
uk English, japan日本語, brazil Portugues do Brasil, france Française, Español Español.

Table des matières

Objectif

Un projet Ansible Tower est une collection logique de Playbooks Ansible. Vous pouvez gérer vos playbooks en les plaçant dans un système de gestion de code source (SCM) pris en charge par Tower, y compris Git, Subversion et Mercurial.

Cet exercice couvre

Guide

Configuration du référentiel Git

Pour cette démonstration, nous utiliserons des playbooks stockés dans un référentiel Git:

https://github.com/ansible/workshop-examples

Un Playbook pour installer le serveur Web Apache a déjà été validé dans le répertoire rhel/apache, apache_install.yml:

---
- name: Apache server installed
  hosts: all

  tasks:
  - name: latest Apache version installed
    yum:
      name: httpd
      state: latest

  - name: latest firewalld version installed
    yum:
      name: firewalld
      state: latest

  - name: firewalld enabled and running
    service:
      name: firewalld
      enabled: true
      state: started

  - name: firewalld permits http service
    firewalld:
      service: http
      permanent: true
      state: enabled
      immediate: yes

  - name: Apache enabled and running
    service:
      name: httpd
      enabled: true
      state: started

Astuce

Notez la différence avec les autres Playbooks que vous avez peut-être écrits ! Plus important encore, il n’y a pas de “become” et “hosts” est défini sur “all”.

Pour configurer et utiliser ce référentiel en tant que système Source Control Management (SCM) dans Tower, vous devez créer un projet qui utilise le référentiel

Création de projet

Parametre Valeur
NOM Workshop Project
ORGANISATION Default
TYPE DE SCM Git

Vous avez maintenant besoin de l’URL pour accéder au dépôt. Accédez au référentiel Github mentionné ci-dessus, choisissez le bouton vert Cloner ou télécharger à droite, cliquez sur Utiliser https et copiez l’URL HTTPS.

Remarque

S’il n’y a pas Utilisez https pour cliquer, mais un Utilisez SSH, ça va: copiez simplement l’URL. L’important est que vous copiez l’URL commençant par https.

Entrez l’URL dans la configuration du projet:

Parametre Valeur
URL DU SCM https://github.com/ansible/workshop-examples.git
OPTIONS DE MISE A JOUR SCM Cocher les 3 premieres cases.

Le nouveau projet sera synchronisé automatiquement après sa création. Mais vous pouvez également le faire manuellement: Synchronisez à nouveau le projet avec le référentiel Git en accédant à la vue Projets et en cliquant sur la flèche circulaire Icône Obtenir la dernière révision SCM à droite du projet.

Après avoir démarré le job de synchronisation, accédez à la vue Taches: il y a un nouveau job pour la mise à jour du référentiel Git.

Création de modèle et exécution de tache

Un modèle de travail est une définition et un ensemble de paramètres permettant d’exécuter un travail Ansible. Les modèles de travaux sont utiles pour exécuter plusieurs fois le même travail. Donc, avant d’exécuter une Tache à partir de Tower, vous devez créer un Modèle qui rassemble les informations suivantes:

D’accord, allons-y: accédez à la vue Modèles, cliquez sur le bouton Plus et choisissez Modèle de tâche.

** Astuce **

N’oubliez pas que vous pouvez souvent cliquer sur la loupe pour obtenir un aperçu des options à choisir pour remplir les champs.

Parametre Valeur
NOM Install Apache
TYPE DE TACHE Run
INVENTAIRE Workshop Inventory
PROJET Workshop Project
PLAYBOOK rhel/apache/apache_install.yml
INFORMATIONS D'IDENTIFICATION Workshop Credentials
LIMITE web
OPTIONS Cochez "Activer l'élévation des previlèges"

Vous pouvez démarrer le travail en cliquant directement sur le bouton bleu LANCEMENT, ou en cliquant sur la fusée dans l’aperçu des modèles de travail. Après avoir lancé la taches, vous êtes automatiquement amené à l’aperçu des taches où vous pouvez suivre l’exécution du playbook en temps réel:

Exection de travail

Étant donné que cela peut prendre un certain temps, examinez de plus près tous les détails fournis:

Une fois le travail terminé, accédez à la vue principale Taches: tous les travaux sont répertoriés ici, vous devriez voir directement avant que le Playbook n’exécute une mise à jour SCM. Il s’agit de la mise à jour Git que nous avons configurée pour le Projet au début !

Défi: Vérification du résultat

Il est temps de relever un petit défi:

Vous avez déjà franchi toutes les étapes nécessaires, essayez donc par vous-même.

Astuce

Qu’en est-il de systemctl status httpd?

Avertissement

Solution ci-dessous

Parametre Valeur
MODULE command
ARGUMENTS systemctl status httpd
MACHINE CREDENTIALS Workshop Credentials

Qu en est-il des bonnes pratiques?

Voici une liste de tâches:

Avertissement

Veuillez vous assurer de terminer ces étapes car le prochain chapitre en dépend !

Astuce

Le Job n’a rien changé car Apache était déjà installé dans la dernière version.

Navigation
Exercice précédent - Exercice suivant

Cliquez ici pour revenir à l’atelier Ansible pour Red Hat Enterprise Linux