GNU/Linux >> Linux Esercitazione >  >> Linux

Come clonare un repository Git con Ansible

Durante la configurazione di server remoti con Ansible, potresti riscontrare istanze in cui è necessario ottenere file da un repository Git. Potrebbe trattarsi di un pacchetto software da repository pubblici o file di configurazione su un repository privato.

Per clonare un repository git in remoto utilizzando Ansible, puoi aggiungere voci come questa al tuo 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

Non preoccuparti. Spiegherò cosa significano questi parametri e come farlo con un tutorial di esempio.

Clonazione di repository Git con Ansible

Presumo che tu abbia già familiarità con le nozioni di base di Ansible come l'inventario, i playbook ecc. In caso contrario, puoi seguire la nostra serie di tutorial di Ansible.

Prerequisito

Devi avere Ansible installato sul tuo computer locale. Questa istanza di Ansible funge da nodo di controllo per tutti gli host remoti. Utilizzando il nodo di controllo, puoi creare playbook e attività da eseguire sulle macchine remote specificate.

Se scegli di seguire questo tutorial, assicurati di avere:

  1. Un nodo di controllo e un host remoto.
  2. Coppie di chiavi SSH. La chiave pubblica del nodo di controllo deve essere disponibile nel file authorized_keys negli host remoti.
  3. Un utente non root con sudo privilegi sugli host remoti.
  4. Scrivere l'accesso a una directory sull'host remoto per memorizzare il contenuto del repository clonato.

Imposta Ansible Inventory

Prima di procedere ulteriormente, è necessario configurare l'inventario Ansible. L'inventario di Ansible è un file che contiene informazioni sui server remoti che desideri gestire con Ansible.

Per impostazione predefinita, il file si trova in /etc/ansible/hosts . Crea questo file manualmente se non esce.

Aggiungi l'indirizzo IP dell'host remoto in questo file:

vim /etc/ansible/hosts

Potrebbe assomigliare a questo:

Salva il file.

Clonazione di un repository Git con il playbook Ansible

Ora che hai configurato il file di inventario e le chiavi SSH sono in atto per accedere agli host remoti dal nodo di controllo, puoi creare Ansible Playbook.

Usa un editor di testo come Vim e crea un file YAML.

vim clone.yaml

Modifica il file e aggiungi le seguenti voci.

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

Nel playbook sopra, hai iniziato definendo una nuova attività e le hai assegnato il nome "Clone a GitHub repository".

Successivamente, stai usando git modulo per specificare il collegamento al repository GitHub SQLite.

Si procede quindi alla definizione della destinazione per il repository clonato. Questa è una directory locale nella macchina remota.

Imposta l'attributo clone su yes per clonare il repository e aggiornarlo utilizzando l'attributo update.

Per eseguire il playbook, usa il comando:

ansible-playbook clone.yaml

Se il playbook non riesce a causa dell'autenticazione SSH, puoi specificare il nome utente utilizzando il flag -u come:

ansible-playbook -u debian clone.yaml

Una volta eseguite le attività, dovresti clonare il repository nella directory specificata.

Puoi accedere all'host remoto per verificare che il repository sia stato clonato correttamente:

Questo dovrebbe darti un'idea decente sulla clonazione di un repository Git con Ansible. Con queste informazioni, dovresti essere in grado di utilizzare i repository Git con Ansible in base alle tue esigenze.

Se hai domande o suggerimenti, lascia un commento qui sotto.


Linux
  1. Come clonare un repository Git in una cartella specifica

  2. Come installare Ansible su Debian 9 Stretch

  3. Come eseguire automaticamente il CD dopo Git Clone?

  4. Come gestire i repository con Git

  5. Come recuperare più file da una macchina remota a una locale con Ansible

Come installare Ansible su Ubuntu 20.04 LTS

Come lavorare con Ansible Provisioner in Vagrant

Come rimuovere il repository remoto Git

Come configurare un repository git con Plesk

Come configurare e gestire un repository Git remoto su Linux

Come installare e configurare WordPress con Ansible