2016-06-20 18 views
2

Wenn jemand eine mögliche Rolle entwickelt, kann er leicht verteilt werden, indem ein Repo auf GitHub erstellt wird, der für die Installation durch ansible-galaxy verfügbar ist (very clear instructions).Wie verteilt manible Module?

Was ist mit Modulen?

Gibt es ein ähnliches "unterstützendes Framework", um ein Open Source Ansible-Modul (z. B. eine Reihe von Python-Dateien) zu veröffentlichen, so dass es leicht von Benutzern installiert werden kann?

+0

Ansible Galaxy scheint wie eine Geisterstadt. Ich habe viel bessere Ergebnisse erzielt, indem ich Dateien aus verschiedenen Repos eingezogen habe. Dies gilt insbesondere für Kernmodule, da der Rückstand für die Veröffentlichung von Fixes viele Monate beträgt. – tedder42

Antwort

2

Derzeit ist der beste Weg, um es tatsächlich über das Verzeichnis library in einer Galaxie Rolle. Sie können die Rollen (und die gebündelten Module) immer noch über eine requirements file installieren und verwenden, ohne dass tatsächlich etwas von der Rolle ausgeführt werden muss. Wir suchen auch nach Möglichkeiten, um Rollen selbst bibliothekarisch zu gestalten (zB variable/leere Einstiegspunkte, nicht nur fest in tasks/main.yml kodiert).

1

Eine Rolle kann Module im Bibliotheksordner enthalten. Um ein Modul in einem Playbook zu aktivieren, müssen Sie diese Rolle zuerst zu Ihrem Playbook hinzufügen oder als eine Abhängigkeit von einer anderen Rolle. Ansonsten kennt Ansible die enthaltenen Module nicht. Eine Rolle, die ein Modul bereitstellt, muss keine anderen Aufgaben haben. Setzen Sie einfach Ihre library Ordner und natürlich die erforderlichen meta/main.yml

Seit Ansible 2.0 dies funktioniert sogar mit (den meisten) Plugins, z. Aktion Plugins, oder Callback-Plugins können in den Ordner action_plugins oder callback_plugins etc. gesetzt werden. Ich denke, Verbindung, Vars und Strategie-Plugins funktionieren nicht auf diese Weise, aber das ist aus offensichtlichen Gründen. Diese Plugins funktionieren auf Playbook-Ebene, sodass sie nicht über Rollen geladen werden können.