GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So klonen Sie ein Git-Repository mit Ansible

Bei der Konfiguration von Remote-Servern mit Ansible kann es vorkommen, dass Sie Dateien aus einem Git-Repository abrufen müssen. Dies kann ein Softwarepaket aus öffentlichen Repositorys oder Konfigurationsdateien in einem privaten Repository sein.

Um ein Git-Repo aus der Ferne mit Ansible zu klonen, können Sie Ihrem Playbook solche Einträge hinzufügen.

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

Mach dir keine Sorgen. Ich werde erklären, was diese Parameter bedeuten und wie man es mit einem Beispiel-Tutorial macht.

Klonen von Git-Repositories mit Ansible

Ich gehe davon aus, dass Sie bereits mit Ansible-Grundlagen wie Inventarisierung, Playbooks usw. vertraut sind. Wenn nicht, können Sie unserer Ansible-Tutorial-Reihe folgen.

Voraussetzung

Ansible muss auf Ihrem lokalen Computer installiert sein. Diese Ansible-Instanz fungiert als Kontrollknoten für alle Remote-Hosts. Mithilfe des Steuerknotens können Sie Playbooks und Aufgaben erstellen, die auf den angegebenen Remote-Computern ausgeführt werden.

Wenn Sie sich entscheiden, diesem Tutorial zu folgen, stellen Sie sicher, dass Sie Folgendes haben:

  1. Ein Kontrollknoten und ein Remote-Host.
  2. SSH-Schlüsselpaare. Der öffentliche Schlüssel des Kontrollknotens muss in der Datei „authorized_keys“ auf den entfernten Hosts verfügbar sein.
  3. Ein Nicht-Root-Benutzer mit sudo Privilegien auf den entfernten Hosts.
  4. Schreibzugriff auf ein Verzeichnis auf dem Remote-Host, um den Inhalt des geklonten Repos zu speichern.

Ansible Inventory einrichten

Bevor Sie fortfahren, müssen Sie das Ansible-Inventar einrichten. Das Ansible-Inventar ist eine Datei, die Informationen zu den Remote-Servern enthält, die Sie mit Ansible verwalten möchten.

Standardmäßig befindet sich die Datei in /etc/ansible/hosts . Erstellen Sie diese Datei manuell, wenn sie nicht beendet wird.

Fügen Sie die IP-Adresse des Remote-Hosts in dieser Datei hinzu:

vim /etc/ansible/hosts

Das könnte so aussehen:

Speichern Sie die Datei.

Klonen eines Git-Repositorys mit Ansible-Playbook

Nachdem Sie nun die Bestandsdatei konfiguriert und die SSH-Schlüssel für den Zugriff auf die Remote-Hosts vom Kontrollknoten eingerichtet haben, können Sie das Ansible Playbook erstellen.

Verwenden Sie einen Texteditor wie Vim und erstellen Sie eine YAML-Datei.

vim clone.yaml

Bearbeiten Sie die Datei und fügen Sie die folgenden Einträge hinzu.

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

Im obigen Playbook haben Sie damit begonnen, eine neue Aufgabe zu definieren und ihr den Namen „Klonen eines GitHub-Repositorys“ zu geben.

Als Nächstes verwenden Sie git -Modul, um den Link zum SQLite-GitHub-Repository anzugeben.

Anschließend definieren Sie das Ziel für das geklonte Repository. Dies ist ein lokales Verzeichnis auf dem Remote-Rechner.

Sie setzen das Attribut clone auf yes, um das Repository zu klonen und es mit dem update-Attribut zu aktualisieren.

Um das Playbook auszuführen, verwenden Sie den Befehl:

ansible-playbook clone.yaml

Wenn das Playbook aufgrund der SSH-Authentifizierung fehlschlägt, können Sie den Benutzernamen mit dem Flag -u wie folgt angeben:

ansible-playbook -u debian clone.yaml

Sobald die Aufgaben ausgeführt wurden, sollten Sie das Repository in das angegebene Verzeichnis geklont haben.

Sie können sich beim Remote-Host anmelden, um zu überprüfen, ob das Repository ordnungsgemäß geklont wurde:

Dies sollte Ihnen eine gute Vorstellung davon geben, wie Sie ein Git-Repository mit Ansible klonen. Mit diesen Informationen sollten Sie in der Lage sein, Git-Repos mit Ansible basierend auf Ihren Anforderungen zu verwenden.

Wenn Sie Fragen oder Anregungen haben, hinterlassen Sie bitte unten einen Kommentar.


Linux
  1. So installieren Sie Softwarepakete mit einem Ansible-Playbook

  2. So installieren Sie Ansible auf Debian 9 Stretch

  3. Wie kann ich nach dem Git-Klon automatisch eine CD erstellen?

  4. Gewusst wie:Erste Schritte mit Ansible

  5. So holen Sie mit Ansible mehrere Dateien vom Remote-Computer auf den lokalen Computer

So installieren Sie Ansible unter Ubuntu 20.04 LTS

So arbeiten Sie mit Ansible Provisioner in Vagrant

So entfernen Sie das Git-Remote-Repository

So richten Sie ein Git-Repository mit Plesk ein

So konfigurieren und verwalten Sie ein Remote-Git-Repository unter Linux

So installieren und konfigurieren Sie WordPress mit Ansible