2016-08-02 30 views
0

Ich habe es geschafft, eine minimale ansible Textbuch einzurichten, um einige Skripte auf meine Maschinen ausführen:Execute-Shell Argumente von git Datei

- name: Execute CLI on remote servers 
    hosts: webserver 
    tasks: 
    - name: Get metrics 
     shell: /home/user1/bin/cli.sh --file=script.cli 

Das einzige Problem ist, dass diese auf dem Dateisystem verlässt sich die Skripte speichern . Ich möchte mein Skript speichern, in einem Repository (wie git) und einen Verweis auf sie als Argument an die shell.Something passieren wie:

shell: /home/user1/bin/cli.sh --file=ssh://[email protected]/mylogin/script.cli 

Jeder Vorschlag wird sehr geschätzt!

+0

Ist das wirklich eine Frage? Entweder sollten Sie 'cli.sh' lehren, git-uri als Parameter zu akzeptieren, oder' script.cli' (z. B. mit 'git'-Modul) an den Host übergeben, bevor Sie' cli.sh' aufrufen. –

Antwort

2

Nicht eine sehr elegante Lösung, aber Sie können den ansible git-Modul (http://docs.ansible.com/ansible/git_module.html) verwenden zuerst das Repository zu klonen, die Ihre Skripts auf dem Zielcomputer (n) enthält (webserver) und verweisen dann die Dateien aus dem shell Modul.

+0

Danke in der Tat, ich habe gerade das Ansible git Modul betrachtet, um einige Beispiele zu sehen – Carla

+0

Nicht sicher, warum Sie das als 'nicht sehr elegant' sehen. Ich denke, die Verwendung des Git-Moduls ist die denkbar einfachste Art, das Repo zu ziehen. +1 – jscott