Mit Aktionen arbeiten

Als Systemadministrator erstellen Sie mit dem Action Builder-Plug-in neue Aktionen (Objekt-Sätze) für gängige Operationen, die in Workflows verwendet werden.

Sehen Sie sich dieses Video an, um einen Überblick über den Action Builder zu erhalten:

(missing or bad snippet)

Diese Seite beinhaltet Folgendes:

Aktionen & Action Packs

Was sind Aktionen?

Aktionen sind vordefinierte Aufgaben zur Ausführung einzelner Operationen im Rahmen des Workflows. Sie vereinfachen die Erstellung von Workflows, indem sie wiederverwendbare, gebrauchsfertige und getestete Bausteine für häufig benötigte Vorgänge bereitstellen.

Aktionen decken verschiedene Bereiche kritischer Rechenzentrumsvorgänge ab und unterstützen Sie bei der Automatisierung einfacher und komplexer Aufgaben. Beispiele für einfache Aktionen sind das Überprüfen von Dateisystemvorgängen oder von Berechtigungen unter Windows, UNIX und Linux. Zu den komplexesten Aktionen gehören das Erstellen von Websites, Web-Anwendungen und Anwendungspools für verschiedene Plattformen wie IIS, JBoss, Tomcat oder WebSphere.

Da Aktionen mithilfe von Eingabeaufforderungen für Eingabewerte parametrisiert werden, können sie in einer Vielzahl von Workflows verwendet werden.

Aufbau von Aktionen

Eine Aktion besteht aus allen folgenden Elementen:

  • Einem Workflow
  • Mindestens einem Prompt-Set für Eingabe-Parameter
  • Bestimmte Anzahl an Unteraufgaben für die tatsächliche Ausführung

Außerdem legen die meisten Actions eine Rollback-Aufgabe fest, die ausgeführt wird, wenn der Workflow, die die Aktion enthält, fehlschlägt.

Hinweis: Aktionen werden in der Automation Engine gespeichert. Obwohl sie direkt in der Automation Engine gebaut werden könnten, müssten Sie viele Objekte manuell anlegen. Der Action Builder bietet die Möglichkeit, ein Grundgerüst für neue Aktionen in einem komfortablen, integrierten User Interface zu erstellen.

Struktur der Aktion-Ordner

Im Action Pack-Ordner SOURCE wird ein Ordner für die Aktion erstellt. Unter diesem Ordner werden auch mehrere Unterordner mit Objekten erstellt, die von der Aktion referenziert werden:

  • <ACTION_NAME>

    Das Hauptworkflow-Objekt für die Aktion. Sein Name ist der Name der Aktion.

  • INTERNAL

    Ordner mit internen Objekten, die von der Aktion verwendet werden.

  • INCLUDES

    Enthält Objekte, die vom Action-Workflow, Backup- oder Rollback-Workflow verwendet werden.

  • JOBS

    Enthält Jobobjekte. Für CLI-Aktionen werden 2 JOBS-Objekte erstellt - ein Windows-Job und ein UNIX-Job. Für REST- und Composite-Aktionen werden keine Jobobjekte angelegt.

    PCK.PACKNAME.PRV.JOB.actionname@agenttype

    Der Agententyp ist WINDOWS | UNIX | GENERIC | RA

  • PROMPTSETS

    PromptSet-Objekte, die vom Action-Workflow verwendet werden.

  • ROLLBACK

    Workflows, die verwendet werden, um benutzerdefinierte Backups und Rollbacks bereitzustellen.

  • VARIABLEN

    Von der Aktion verwendete Variablenobjekte, typischerweise Nachschlagewerte für PromptSet-Optionen, Kontrollkästchen und Kombinationsfeldelemente.

Was sind Action Packs?

Action Packs dienen zur Integration externer Drittanbieterprodukte wie Amazon S3, Docker und Tomcat für Automatisierungszwecke. Sie beinhalten Aktionen, die in einer Beziehung zueinander stehen (z. B. Windows-Dateisystemaktionen).

Zum Beispiel können Sie mit dem Action Pack Tomcat (verfügbar unter https://marketplace.automic.com/) Anwendungs-Deployments auf einem Tomcat-Anwendungsserver automatisieren. Das Tomcat Action Pack enthält die folgenden Aktionen:

  • Datenquelle erstellen/löschen
  • Server starten/stoppen/fortsetzen
  • Snapshot erstellen
  • Anwendung starten/stoppen
  • Deployment/Undeployment der Anwendung
  • Anwendungen auflisten
  • JNDI-Ressourcen auflisten

CLI-Aktionen erstellen

Sehen Sie sich das Video an:

Wichtig! Die folgenden Komponenten müssen auf dem Mandanten installiert sein, bevor CLI-Aktionen angelegt werden können:

  • PCK.ITPA_SHARED

So erstellen Sie CLI-Aktionen

  1. Navigieren Sie zur Perspektive Process Assembly und klicken Sie auf die Registerkarte Packs.
  2. Klicken Sie auf das Pack, in dem Sie die Aktion erstellen möchten, oder erstellen Sie ein neues. Weitere Informationen finden Sie im Abschnitt Packs erstellen
  3. Klicken Sie auf Aktion hinzufügen. Das Fenster Aktion hinzufügen wird angezeigt.
  4. Wählen Sie den CLI-Aktionstyp (Kommandozeile) aus.
  5. Geben Sie einen Titel für die Aktion ein. Der Name für die Aktion wird automatisch vorgeschlagen.
  6. Geben Sie eine neue Kategorie für die Aktion ein oder wählen Sie eine bestehende Kategorie aus der Drop-down-Liste aus. Kategorien dienen zum Gruppieren und einfachen Auffinden der Aktionen und werden auf der Registerkarte Aktionen angezeigt.
  7. Klicken Sie auf Weiter, um die Erstellung der Aktion zu bestätigen.
  8. Überprüfen Sie Ihre Eingaben erneut und klicken Sie auf Hinzufügen, um die Aktion zu erstellen.

Hinweise:

  • Sie können alle Objekte der Aktion anzeigen, indem Sie mit der rechten Maustaste darauf klicken und Zur Quelle springen wählen.
  • Es empfiehlt sich Informationen für andere auf der Registerkarte Dokumentation des Action-Workflows bereitzustellen, um bei der Identifizierung Ihres Inhaltes zu helfen.

REST-Aktionen erstellen

REST-Aktionen können erstellt werden, um z. B. ein TeamCity-Build über die AE REST-API auszulösen. Weitere Informationen finden Sie unter AE-REST-API - Allgemeine Informationen

Grafik zur Darstellung der REST-Aktionslogik

Sehen Sie sich das Video an:

Wichtig! Die folgenden Komponenten müssen auf dem Mandanten installiert sein, bevor REST-Aktionen angelegt werden können:

  • PCK.AUTOMIC_RA_REST
  • RA-Lösung WEBSERVICEREST

    Wichtig! Voraussetzung für das Erstellen/Ausführen von REST-Aktionen: der Webdienst Rest Agent muss Java konfiguriert haben, damit der Agent ein Ziel über HTTPS erreicht.

    Den Webdienst-Agenten so konfigurieren, dass er ein Deployment-Ziel über HTTPS mit Oracle Java erreicht

    1. Klicken Sie in Ihrem Browser auf das Vorhängeschloss in der URL-Leiste.
    2. Exportieren Sie das Zertifikat im Format .cer. Beispiel: myfile.cer
    3. Fügen Sie das Zertifikat zu Ihrer JVM hinzu.
    4. Navigieren Sie zu dem Speicherort, an dem die cacerts-Dateien abgelegt sind, zum Beispiel: C:\Automic\External.Resources\JDK\jdk1.8.0_101\jre\lib\security\cacerts
    5. Öffnen Sie im zuvor genannten Verzeichnis die cmd-Eingabeaufforderung als Administrator, und importieren Sie die Datei myfile.cer in die cacerts-Dateien. Verwenden Sie den folgenden Befehl als Beispiel:

      keytool -import -alias example -keystore C:\Automic\External.Resources\JDK\jdk1.8.0_101\jre\lib\security\cacerts -file myfile.cer

  • PCK.ITPA_SHARED

Hinweis:Diese Komponenten sind hier erhältlich: https://marketplace.automic.com/.

So erstellen Sie REST-Aktionen

  1. Navigieren Sie zur Perspektive Process Assembly und klicken Sie auf die Registerkarte Packs.
  2. Klicken Sie auf das Action Pack, in dem Sie die Aktion erstellen möchten, oder erstellen Sie ein neues. Weitere Informationen finden Sie im Abschnitt Packs erstellen
  3. Klicken Sie auf Aktion hinzufügen. Das Fenster Aktion hinzufügen wird angezeigt.
  4. Wählen Sie den REST-Aktionstyp (REST).
  5. Geben Sie einen Titel für die Aktion ein. Der Name für die Aktion wird automatisch vorgeschlagen.
  6. Geben Sie eine neue Kategorie für die Aktion ein oder wählen Sie eine bestehende Kategorie aus der Drop-down-Liste aus. Kategorien dienen zum Gruppieren und einfachen Auffinden der Aktionen und werden auf der Registerkarte Aktionen angezeigt.
  7. Klicken Sie auf Weiter. Das Dialogfeld Aktion hinzufügen wird angezeigt.
  8. Wählen Sie den Authentifizierungstyp für den Endpunkt aus. Keiner ist standardmäßig ausgewählt.

    Hinweis: Die folgenden Authentifizierungsmethoden sind verfügbar: Keine, Basic, Digest, NTLM, OAuth 1.0 a, OAuth 2.0, AWS Signed URL.

  9. Klicken Sie auf Hinzufügen, um die Aktion zu erstellen.

Hinweise:

  • Sie können alle Objekte der Aktion anzeigen, indem Sie mit der rechten Maustaste darauf klicken und Zur Quelle springen wählen.
  • Bereitstellung von Informationen für andere auf der Registerkarte Dokumentation des Aktion-Workflows, damit Sie Ihre Inhalte besser identifizieren können.

Composite-Aktionen erstellen

Manchmal kann es sinnvoll sein, Aktionen zu erstellen, die nicht nur für sich allein, sondern auch in Kombination mit anderen Aktionen sinnvoll sind. An dieser Stelle kommen Composite-Aktionen ins Spiel. Sie vermeiden Verdrahtungsarbeiten für jede neue Instanz dieser Kombination.

Sehen Sie sich das Video an:

So erstellen Sie Composite-Aktionen

  1. Navigieren Sie zur Perspektive Process Assembly und klicken Sie auf die Registerkarte Packs.
  2. Klicken Sie auf das Pack, in dem Sie die Aktion erstellen möchten, oder erstellen Sie ein neues. Weitere Informationen finden Sie im Abschnitt Packs erstellen
  3. Klicken Sie auf Aktion hinzufügen. Das Fenster Aktion hinzufügen wird angezeigt.
  4. Wählen Sie den Aktionstyp Composite.
  5. Geben Sie einen Titel für die Aktion ein. Der Name für die Aktion wird automatisch vorgeschlagen.
  6. Geben Sie eine neue Kategorie für die Aktion ein oder wählen Sie eine bestehende Kategorie aus der Drop-down-Liste aus. Kategorien dienen zum Gruppieren und einfachen Auffinden der Aktionen und werden auf der Registerkarte Aktionen angezeigt.
  7. Klicken Sie auf Weiter, um die Erstellung der Aktion zu bestätigen.
  8. Überprüfen Sie Ihre Eingaben erneut und klicken Sie auf Hinzufügen, um die Aktion zu erstellen.

Hinweise:

  • Sie können alle Objekte der Aktion anzeigen, indem Sie mit der rechten Maustaste darauf klicken und Zur Quelle springen wählen.
  • Es empfiehlt sich Informationen für andere auf der Registerkarte Dokumentation des Action-Workflows bereitzustellen, um bei der Identifizierung Ihres Inhaltes zu helfen.

Aktionen klonen

Die Klonfunktion des Action Builder ermöglicht es Ihnen, Zeit zu sparen, wenn Sie Aktionen erstellen, die bestehenden Aktionen ähnlich sind.

Hinweis: Das Klonen einer Aktion führt dazu, dass alle Objekte, die direkt zu ihr gehören (Includes, PromptSets, Workflows), kopiert werden. Geklonte Aktionen können unabhängig voneinander verwendet werden.

So klonen Sie Aktionen

  1. Gehen Sie zur Perspektive Process Assembly und klicken Sie auf die Registerkarte Packs in der Seitenleiste.
  2. Wählen Sie ein Action Pack aus. Die Liste der verfügbaren Aktionen wird angezeigt.
  3. Klicken Sie mit der rechten Maustaste auf eine Aktion und wählen Sie Klonen. Das Dialogfeld Aktion klonen wird angezeigt.
  4. Wählen Sie das Pack aus, in dem Sie die geklonte Aktion speichern möchten.
  5. Optional können Sie den Titel für die geklonte Aktion ändern.
  6. Klicken Sie auf Klonen.
  7. Die geklonte Aktion wird in der Liste angezeigt.  

Aktionen löschen

  1. Gehen Sie zur Perspektive Process Assembly und klicken Sie auf ein Action Pack.
  2. Wählen Sie eine Aktion aus und klicken Sie auf Löschen.

In-Line-Dokumentation für Aktionen verwenden

  1. Gehen Sie zur Perspektive Process Assembly und klicken Sie auf ein Action Pack.
  2. Doppelklicken Sie auf eine Aktion.
  3. Öffnen Sie die Registerkarte Dokumentation.

Fehlerbehebung

Fehler:

Eine Fehlermeldung wird angezeigt, wenn eine Runbook-Aktion mit Powershell v >=3.0 ausgeführt wird. Beispiel:

__uc_return: der Begriff "__uc_return" wird nicht als Name eines Cmdlets, einer Funktion, einer Scriptdatei oder eines operab erkannt.

Pfad richtig ist, neuer Versuch.

Unter C:\temp\test.ps1:75 char:3

+ __uc_return( 9999 )

+ ~~~~~~~~~~~

+ CategoryInfo : ObjectNotFound: (__uc_return:String) [], CommandNotFoundException

+ FullyQualifiedErrorId : CommandNotFoundException

Lösung:

Fügen Sie dem Objekt HEADER.WINDOWS.USER.HEAD das folgende if-Script (fett gedruckt) hinzu, um sicherzustellen, dass Ihre Aktionen mit allen Versionen von PowerShell ausgeführt werden können:

if ($PSVersionTable.PSVersion.Major -le 2)

{

$bindingFlags = [Reflection.BindingFlags] "Instance,NonPublic,GetField"

$objectRef = $host.GetType().GetField("externalHostRef", $bindingFlags).GetValue($host)

$bindingFlags = [Reflection.BindingFlags] "Instance,NonPublic,GetProperty"

$consoleHost = $objectRef.GetType().GetProperty("Value", $bindingFlags).GetValue($objectRef, @())

[void] $consoleHost.GetType().GetProperty("IsStandardOutputRedirected", $bindingFlags).GetValue($consoleHost, @())

$bindingFlags = [Reflection.BindingFlags] "Instance,NonPublic,GetField"

$field = $consoleHost.GetType().GetField("standardOutputWriter", $bindingFlags)

$field.SetValue($consoleHost, [Console]::Out)

$field2 = $consoleHost.GetType().GetField("standardErrorWriter", $bindingFlags)

$field2.SetValue($consoleHost, [Console]::Out)

}

Bild mit Script in der Prozessansicht

Siehe auch: