Verzeichnisstruktur
Anleitung für die Konfiguration von File Type Patterns bis OrchidE 2022.1.4.0. Für neuere Version gibt es die vereinfachte Konfiguration Ansible Folder Mapping.
Zum Erkennen von Ansible Dateien benötigt OrchidE zwei grundsätzliche Einstellungen:
- die Root-Ordner, in denen sich die Playbooks, Roles und Inventories befinden
- ein Pattern-Set um zu erkennen, ob es sich um eine Playbook-, Task- oder Variablen-Datei handelt
Root-Ordner
Die Root-Ordner werden in den Einstellungen unter Datei | Einstellungen | Sprachen & Frameworks | OrchidE | Ansible Folder Mapping konfiguriert.
Besteht ein IntelliJ Projekt nur aus einer Ansible Rolle, d.h. die tasks, handlers, defaults, … Ordner sind direkt im IntelliJ Root Ordner, nennt das OrchidE ein ‘Single Ansible role project’.
Für ein ‘Single Ansible role project’ wird die Checkbox “Single Ansible role project” oberhalb der Sektion Role Root Folders selektiert.
Damit wird der IntelliJ Projektordner als Root-Ordner für die Rolle genutzt und Standard-Patterns unabhängig von den Einstellungen in “File Type Patterns”. Der molecule Ordner wird aktuell im Single Ansible role project nicht automatisch unterstützt. Hierfür sind eigene Patterns für Playbooks und Tasks nötig.
Pattern-Sets
Die Standard-Pattern zum Erkennen von playbooks, tasks und variables sind für die folgende Verzeichnisstruktur eingestellt:
project
|-- inventory
| |-- hosts
| |-- group_vars
| | |-- webservers
| | | |-- default.yml
|-- playbooks
| |-- webservers
| | -- main.yml
|-- roles
| |-- webserver
| | |-- tasks
| | | |-- main.yml
Alternativ können playbooks auch im playbooks-Ordner direkt abgelegt werden.
Beliebige weitere Pattern für abweichende Verzeichnisstrukturen können über die Einstellungen für die “File Type Pattern” vorgenommen werden.
(File | Settings | Languages & Frameworks | OrchidE | File Type Patterns)
Bedeutung der Ansible Types:
- Playbook
- Standard Type für das Erkennen von Playbooks. Bei diesem Type wird der Dateiname einer Playbook-Datei als Playbook Name interpretiert (für die Verwendung bei der Navigation)
- PlaybookFolder
- bei diesem Type wird der übergeordnete Ordner einer Playbook-Datei als Playbook Name verwendet. Hiermit kann eine Kategorisierung von Playbooks erfolgen
- Task
- Type für die Erkennung von Dateien die Tasks enthalten. Zur Aufteilung von Playbooks wenn keine roles verwendet werden (include_tasks). Diesen Type nicht für roles verwenden.
- RoleTask
- Type für tasks und handlers Dateien in roles
- RoleVariable
- Type für defaults und vars Dateien in roles
Anmerkung: Pattern von diesem Type müssen explizit auf eine spezifische Rolle zutreffen. Für den Rollennamen muss der Platzhalter “%s” benutzt werden.
Beispiel:
|-- roles
| |-- webserver
| | |-- defaults
| | | |-- main.yml
Passendes Pattern:
.*/roles/%s/defaults/.*\.ya?ml
- Variable
- generischer Type für alle Dateien die Ansible Variablen enthalten (role vars/defaults, host vars, group vars, inkludierte Dateien). Bei diesem Type müssen Pattern für die Rollen Variablen nochmals enthalten sein.
File Type Pattern Konfiguration zurücksetzen
Die OrchidE Plugin Default-Einstellungen können über den Toolbar-Button () wieder hergestellt werden