Actions
Actions
- name: install
- playbook: install.yml
- prompt:
- message: „Möchten Sie diese Aktion wirklich ausführen?“
Ein Block kann eine beliebige Anzahl von Aktionen freigeben. Aktionen dienen zur Implementierung der tatsächlichen Funktionalität eines Blocks. Installieren oder Deinstallieren, aber auch status oder init wären Beispiele hierfür.
Um ein Ansible-Playbook auszuführen, geben Sie dessen Namen in der Playbook-Stanza einer Aktion an. Polycrate wird den entsprechenden ansible-playbook-Befehl erstellen und den Arbeitsbereichs-Snapshot als extra-vars
für das Playbook verfügbar machen, sodass sie sogar im Host-Abschnitt eines Playbooks verwendet werden können.
Aktionen akzeptieren eine Prompt-Stanza. Ist diese mit einer nicht-leeren Nachrichten-Attribut konfiguriert, wird Polycrate den Benutzer um Bestätigung vor der Ausführung einer Aktion bitten. Lehnt der Benutzer ab, schlägt die Aktion fehl. Beachten Sie, dass Sie auch in den Workflow-Schritten um Bestätigung bitten können. Wenn Sie bei einer Aktion und bei einem Schritt um Bestätigung bitten, muss der Benutzer 2-mal bestätigen.
Hinweis
Sie können alle Aufforderungen mit der –force Flag automatisch bestätigen.
Aktionen unterstützen auch eine Script-Stanza, die eine Liste von Befehlen enthält, die in ein Bash-Skript zusammengeführt und im Polycrate-Container (oder lokal, wenn Sie –local angeben) ausgeführt werden, wenn Sie die Aktion ausführen. Die Skript-Stanza schließt die Playbook-Stanza aus.
Aktionen:
Name: script-action script:
- ls -la
- du -hsc
- env
- echo „Hello World“
Aktionsnamen sind auf bestimmte Zeichen beschränkt: ^[a-zA-Z]+([-/]?[a-zA-Z0-9]+)+$
.
Diese Einschränkung gilt für ALLE Namensangaben in Polycrate.
Daten werden bei Polycrate, abgesehen von Änderungen am Arbeitsbereichsverzeichnis (im Ausführungscontainer unter /workspace gemountet), zwischen den Läufen nicht gespeichert.
Es ist in Ordnung, Daten im Arbeitsbereichsverzeichnis zu schreiben. Es ist jedoch Best-Practice, Artefakte zur Speicherung benutzerdefinierter Daten zu verwenden.