👟 Actions¶
Actions¶
- name: install
playbook: install.yml
prompt:
message: „Möchten Sie diese Aktion wirklich ausführen?"
Ein Block kann eine beliebige Anzahl von Actions definieren. Actions dienen zur Implementierung der tatsächlichen Funktionalität eines Blocks. install oder uninstall, 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 Action an. Polycrate wird den entsprechenden ansible-playbook Befehl kompilieren und den Workspace Snapshot als extra-vars für das Playbook verfügbar machen, sodass sie sogar in der host Stanza eines Playbooks verwendet werden können.
Actions akzeptieren eine prompt Stanza. Ist diese mit einer nicht-leeren message 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 Action und bei einem Step um Bestätigung bitten, muss der Benutzer 2-mal bestätigen.
Aktionen schnell bestätigen
Sie können alle Actions mit der --force Flag automatisch bestätigen.
Actions 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 Action ausführen. Die script Stanza schließt die playbook Stanza aus.
Action Namen 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 in der Workspace Directory (im Runtime-Container unter /workspace gemountet), zwischen einzelnen Action Runs nicht gespeichert.
Es ist in Ordnung, Daten im in der Workspace Directory zu schreiben. Es ist jedoch Best-Practice, Artefakte zur Speicherung benutzerdefinierter Daten zu verwenden.