Workshop - Proyectos y plantillas de trabajo

Lee esto en otros idiomas*:
uk English, japan日本語, brazil Portugues do Brasil, france Française, Español Español.

Tabla de contenidos

Objetivos

Un proyecto de ansible Tower Project es una colección lógica de Playbooks de Ansible. Puede administrar sus playbooks colocándolos en un sistema de administración de código fuente (SCM) compatible con Tower, incluidos Git, Subversion y Mercurial.

Este ejercicio cubre

Guía

Configurar el repositorio Git

Para esta demostración usaremos playbooks almacenados en un repositorio Git:

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

Ya se ha confirmado un Playbook para instalar el servidor web Apache en el directorio 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

Consejo

Note la diferencia con otros Playbooks que podría haber escrito! Lo más importante es que no hay become y hosts” se establece como all.

Para configurar y utilizar este repositorio como un Sistema de Control de Código Fuente (SCM) en Tower, debe crear un Project que utilice el repositorio

Crear el proyecto

Parámetro Valor
NAME Workshop Project
ORGANIZATION Default
SCM TYPE Git

Ahora necesita la dirección URL para acceder al repositorio. Vaya al repositorio de Github mencionado anteriormente, elija el botón verde Clone or download a la derecha, haga clic en Use https y copie la URL HTTPS.

Nota

Si no hay Use https para hacer clic, pero un Use SSH, usted está bien: simplemente copie la URL. Lo importante es que copie la dirección URL empezando por https.

Introduzca la dirección URL en la configuración del proyecto:

Parámetro Valor
SCM URL https://github.com/ansible/workshop-examples.git
SCM UPDATE OPTIONS Marque las tres primeras casillas para obtener siempre una copia nueva del repositorio y actualizar el repositorio al iniciar un trabajo

El nuevo proyecto se sincronizará automáticamente después de la creación. Pero también puede hacerlo manualmente: Sincronice el proyecto de nuevo con el repositorio De Git yendo a la vista Projects y haciendo clic en la flecha circular Get latest SCM revision icono a la derecha del proyecto.

Después de iniciar el trabajo de sincronización, vaya a la vista Jobs: hay un nuevo trabajo para la actualización del repositorio de Git.

Crear una plantilla de trabajo y ejecutar un trabajo

Una plantilla de trabajo es una definición y un conjunto de parámetros para ejecutar un trabajo Ansible. Las plantillas de trabajo son útiles para ejecutar el mismo trabajo muchas veces. Entonces, antes de ejecutar un Job Ansible desde Tower, debe crear un Job Template que reúna:

Bien, vamos a hacer eso: Vaya a la vista Templates, haga clic en el plus y elija Job Template.

Consejo

Recuerde que a menudo puede hacer clic en la lupa para obtener una visión general de las opciones que puede elegir para rellenar los campos.

Okay, let’s just do that: Go to the Templates view, click the plus button and choose Job Template.

Parámetro Valor
NAME Install Apache
JOB TYPE Run
INVENTORY Workshop Inventory
PROJECT Workshop Project
PLAYBOOK rhel/apache/apache_install.yml
CREDENTIAL Workshop Credentials
LIMIT web
OPTIONS tasks need to run as root so check **Enable privilege escalation**

Puede iniciar el trabajo haciendo clic directamente en el botón azul LAUNCH o haciendo clic en el cohete en la vista general de Job Templates. Después de iniciar la plantilla de trabajo, se re direccionará automáticamente a la descripción general del trabajo, donde puede seguir la ejecución del playbook en tiempo real:

job exection

Puesto que esto puede tomar algún tiempo, eche un vistazo más de cerca a todos los detalles proporcionados:

Una vez que el trabajo haya terminado, vaya a la vista principal Jobs: todos los trabajos se enumeran aquí, debería ver directamente antes de que el Playbook se ejecute una actualización de SCM. Esta es la actualización de Git que configuramos para el Project en lanzamiento!

Laboratorio de Desafío: Compruebe el resultado

Es hora de un pequeño desafío:

Ya has pasado por todos los pasos necesarios, así que prueba esto por ti mismo.

Consejo

¿Qué pasa con ‘systemctl status httpd’?

Advertencia

Solución a continuación

Parámetro Valor
MODULE command
ARGUMENTS systemctl status httpd
MACHINE CREDENTIALS Workshop Credentials

¿Qué hay de un poco de práctica?

Aquí está una lista de tareas:

Advertencia

Por favor, asegúrese de terminar estos pasos, ya que el siguiente capítulo depende de él!

Consejo

El trabajo no cambió nada porque Apache ya estaba instalado en la última versión.


Navegación
Ejercicio anterior - Next Exercise

Haga clic aquí para volver al Taller Ansible for Red Hat Enterprise Linux