Direkt zum Hauptinhalt

Role Grundgerüst erstellen

Um eine Rolle zu erstellen muss man in seinem ProjektverzeichnisProjekt Verzeichnis wenn nicht schon vorhanden ein Verzeichnis Namesroles roles.

erstellen.
zum Beispiel, diese Verzeichnis. Wenn nicht besteht dann anlegen.



mkdir ~/mein-ansible/project1/roles/


Nun kann mittels ansible Galxay Befehl eine Rolle angelegt werden
Der Aufbau einer Rolle ist immer der derbenutzername.rolenname
Wir namenennen vomunsere githubaccout.rollenname

Beispiel:Rolle immohacker.ansible-mal ansibe-role-test
also der Befehl lautet:



ansible-galaxy collection init immohacker.ansible-role-test



Hier mit wird dann folgende Verzeichnisstruktur erstellt:



~/mein-ansible/project1/roles/immohacker.anisble-role-testansible-test-role


Die Verzeichnisstruktur sieht dann so aus:

.
├── defaults
│   └── main.yml
├── files
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
├── README.md
├── tasks
│   └── main.yml
├── templates
├── tests
│   ├── inventory
│   └── test.yml
└── vars
    └── main.yml

Inin der /meta/main.ymlymll kommen die Daten und die Versionsnummern rein. Diese Datei muss auch vorhanden sein, wenn die rolle mit Ansible Galaxy zur verfügung gestellt werden soll. Siehe Repo in ansible Galaxy hinzufügen
bei jeder Änderung an der CollectionRolle muss die Versionsnummer in der Datei erhöht werden.
Diese Datei dient

 

Die wichtigsten Punkte in der Datei sind:

ff

authors : Unser Name
Description : Beschreibung der Rolle, also was macht diese.
company : Deine Firma ist optional
#Eine liste von Platformen gibt es hier: https://galaxy.ansible.com/api/v1/platforms/
platforms:
 - name: Debian
   versions:
   - stretch
   - buster
   - bullseye
   - all

#Die midestversion von ansible
min_ansible_version: "2.1"

#Unterwelchen suchbegriffen die Rolle gefunden werde soll, die Tags
galaxy_tags: ['etstbegriff1','testbegriff2','testbegriff3','testbegriff4']

dependencies: 
  - role: stefanhacker.ansible_extract_iso
    tags: [never]
    
  Das Tag never bedeutet lade die Rolle für die abhängigkeit runter, führe diese aber nicht aus
  Rollen die als abbhänngigkeit eingetragen werden, werden standard mäßig auch gleich nach dem download ausgeführt.
  unter Umständen ist dies aber nicht gewüscht, weil custom parameter übergeben werden müssen.

Das wars auch schon. Schon kann darin gearbeitet werden.
Möchte man das ganze noch in ein Git Repo syncen dann siehe Abschnitt :
Ansible Role zu Github hinzufügen