GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo clonar un repositorio Git con Ansible

Al configurar servidores remotos con Ansible, puede encontrar instancias en las que necesite obtener archivos de un repositorio de Git. Esto podría ser un paquete de software de repositorios públicos o archivos de configuración en un repositorio privado.

Para clonar un repositorio de Git de forma remota con Ansible, puede agregar entradas como esta a su Playbook.

---
 - hosts: all
   tasks:
   - name: Clone a github repository
     git:
       repo: https://github.com/sqlite/sqlite.git
       dest: /home/debian/repos/
       clone: yes
       update: yes

No te preocupes. Explicaré qué significan esos parámetros y cómo hacerlo con un tutorial de muestra.

Clonación de repositorios Git con Ansible

Supongo que ya está familiarizado con los conceptos básicos de Ansible, como el inventario, los libros de jugadas, etc. Si no es así, puede seguir nuestra serie de tutoriales de Ansible.

Requisito previo

Debe tener Ansible instalado en su máquina local. Esta instancia de Ansible actúa como nodo de control para todos los hosts remotos. Usando el nodo de control, puede crear libros de jugadas y tareas para ejecutar en las máquinas remotas especificadas.

Si elige seguir este tutorial, asegúrese de tener:

  1. Un nodo de control y un host remoto.
  2. Pares de claves SSH. La clave pública del nodo de control debe estar disponible en el archivo authorized_keys en los hosts remotos.
  3. Un usuario no root con sudo privilegios en los hosts remotos.
  4. Acceso de escritura a un directorio en el host remoto para almacenar el contenido del repositorio clonado.

Configurar el inventario de Ansible

Antes de continuar, debe configurar el inventario de Ansible. El inventario de Ansible es un archivo que contiene información sobre los servidores remotos que desea administrar con Ansible.

De forma predeterminada, el archivo se encuentra en /etc/ansible/hosts . Cree este archivo manualmente si no sale.

Agregue la dirección IP del host remoto en este archivo:

vim /etc/ansible/hosts

Podría verse así:

Guarde el archivo.

Clonación de un repositorio Git con Ansible playbook

Ahora que tiene configurado el archivo de inventario y las claves SSH para acceder a los hosts remotos desde el nodo de control, puede crear el Ansible Playbook.

Usa un editor de texto como Vim y crea un archivo YAML.

vim clone.yaml

Edite el archivo y agregue las siguientes entradas.

---
 - hosts: all
   tasks:
   - name: Clone a github repository
     git:
       repo: https://github.com/sqlite/sqlite.git
       dest: /home/debian/repos/
       clone: yes
       update: yes

En el libro de jugadas anterior, comenzó definiendo una nueva tarea y le dio el nombre "Clonar un repositorio de GitHub".

A continuación, está utilizando git módulo para especificar el enlace al repositorio SQLite GitHub.

A continuación, procede a definir el destino del repositorio clonado. Este es un directorio local en la máquina remota.

Establece el clon de atributo en sí para clonar el repositorio y actualizarlo usando el atributo de actualización.

Para ejecutar el libro de jugadas, use el comando:

ansible-playbook clone.yaml

Si el libro de jugadas falla debido a la autenticación SSH, puede especificar el nombre de usuario usando el indicador -u como:

ansible-playbook -u debian clone.yaml

Una vez que se hayan ejecutado las tareas, debe tener el repositorio clonado en el directorio especificado.

Puede iniciar sesión en el host remoto para verificar que el repositorio se clonó correctamente:

Esto debería darle una idea decente sobre cómo clonar un repositorio de Git con Ansible. Con esta información, debería poder usar los repositorios de Git con Ansible según sus requisitos.

Si tiene alguna pregunta o sugerencia, deje un comentario a continuación.


Linux
  1. Cómo clonar un repositorio Git en una carpeta específica

  2. Cómo instalar Ansible en Debian 9 Stretch

  3. ¿Cómo hacer Cd automáticamente después de Git Clone?

  4. Cómo cambiar el nombre de Git Branch Local y Remote

  5. Cómo obtener varios archivos de una máquina remota a una local con Ansible

Cómo instalar Ansible en Ubuntu 20.04 LTS

Cómo trabajar con Ansible Provisioner en Vagrant

Cómo eliminar el repositorio remoto de Git

Cómo configurar un repositorio git con Plesk

Cómo configurar y administrar un repositorio Git remoto en Linux

Cómo instalar y configurar WordPress con Ansible