Wenn Sie Ihre Pipeline konfigurieren, fügen Sie bestimmte Aufgabentypen hinzu, die die Pipeline für die von Ihnen benötigten Aktionen ausführt. Jeder Aufgabentyp lässt sich in eine andere Anwendung integrieren und aktiviert Ihre Pipeline, während sie Ihre Anwendungen erstellt, testet und bereitstellt.

Egal, ob Sie zur Bereitstellung Artefakte aus einem Repository abrufen, ein Remote-Skript ausführen müssen oder von einem Teammitglied eine Genehmigung für einen Benutzervorgang benötigen, hat Automation Pipelines den geeigneten Aufgabentyp, damit Sie Ihre Pipeline ausführen können!

Automation Pipelines unterstützt das Abbrechen einer Pipeline-Ausführung für verschiedene Arten von Aufgaben. Wenn Sie bei einer Pipeline-Ausführung auf Abbrechen klicken, wechselt die Aufgabe, Phase oder gesamte Pipeline in den Abbruchzustand und die Pipeline-Ausführung wird abgebrochen.

Mit Automation Pipelines können Sie die Pipeline-Ausführung für eine Aufgabe, Phase oder die gesamte Pipeline abbrechen, wenn Sie die folgenden Aufgaben verwenden:
  • Jenkins
  • SSH
  • PowerShell
  • Benutzervorgang
  • Pipeline
  • Cloud-Vorlage
  • vRO
  • POLL

Automation Pipelines gibt das Abbruchverhalten für die folgenden Aufgaben nicht an Drittanbietersysteme weiter: CI, benutzerdefinierte Integration oder Kubernetes. Automation Pipelines markiert die Aufgabe als abgebrochen und beendet sofort das Abrufen des Status, ohne zu warten, bis die Aufgabe abgeschlossen ist. Die Aufgabe kann auf dem Drittanbietersystem abgeschlossen werden oder fehlschlagen, wird aber sofort in Automation Pipelines beendet, wenn Sie auf Abbrechen klicken.

Bevor Sie eine Aufgabe in Ihrer Pipeline verwenden, stellen Sie sicher, dass der entsprechende Endpoint verfügbar ist.

Tabelle 1. Anfordern einer Genehmigung oder Festlegen eines Entscheidungspunkts
Aufgabentyp Funktionsweise Beispiele und Details
Benutzervorgang

Eine Aufgabe des Typs „Benutzervorgang“ ermöglicht eine erforderliche Genehmigung, die steuert, wann eine Pipeline ausgeführt wird und für eine Genehmigung angehalten werden muss.

Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Ausführen einer Pipeline und Anzeigen von Ergebnissen. und Vorgehensweise zum Verwalten des Benutzerzugriffs und der Genehmigungen in Automation Pipelines.

Bedingung

Fügt einen Entscheidungspunkt hinzu, der bestimmt, ob die Pipeline auf der Grundlage von Bedingungsausdrücken weiterhin ausgeführt oder angehalten wird. Wenn die Bedingung „true“ lautet, führt die Pipeline nachfolgende Aufgaben aus. Wenn sie „false“ lautet, wird die Pipeline angehalten.

Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Verwenden von Variablenbindungen in einer Bedingungsaufgabe zum Ausführen oder Anhalten einer Pipeline in Automation Pipelines.

Tabelle 2. Automatisieren der kontinuierlichen Integration und Bereitstellung
Aufgabentyp Funktionsweise Beispiele und Details
Cloud-Vorlage

Stellt eine Automatisierungs-Cloud-Vorlage aus GitHub sowie eine Anwendung bereit und automatisiert die kontinuierliche Integration und kontinuierliche Bereitstellung (CICD) dieser Cloud-Vorlage für Ihre Bereitstellung.

Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Automatisieren der Version einer Anwendung, die von einer YAML-Cloud-Vorlage in Automation Pipelines bereitgestellt wird.
CI

Die CI-Aufgabe ermöglicht die kontinuierliche Integration Ihres Codes in Ihre Pipeline, indem ein Docker-Build-Image aus einem Registrierungs-Endpoint abgerufen und in einem Kubernetes-Cluster bereitgestellt wird.

Die CI-Aufgabe zeigt 100 Zeilen des Protokolls als Ausgabe an und 500 Zeilen, wenn Sie die Protokolle herunterladen.

Die CI-Aufgaben erfordern die flüchtigen Ports 32768 bis 61000.

Weitere Informationen hierzu finden Sie unter Planen eines nativen CICD-Builds in Automation Pipelines vor der Verwendung der intelligenten Pipeline-Vorlage.

Benutzerdefiniert

Die Aufgabe „Benutzerdefiniert“ integriert Automation Pipelines in Ihre eigenen Build-, Test- und Bereitstellungstools.

Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Integrieren von eigenen Build-, Test- und Bereitstellungstools mit Automation Pipelines.

Kubernetes

Automatisieren Sie die Bereitstellung Ihrer Softwareanwendungen in Kubernetes-Clustern.

Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Automatisieren der Freigabe einer Anwendung in Automation Pipelines in einem Kubernetes-Cluster.

Pipeline

Verschachtelt eine Pipeline in einer primären Pipeline. Wenn eine Pipeline verschachtelt ist, verhält sie sich in der primären Pipeline wie eine Aufgabe.

Auf der Registerkarte „Aufgabe“ der primären Pipeline können Sie problemlos zur verschachtelten Pipeline navigieren, indem Sie auf den dorthin führenden Link klicken. Die verschachtelte Pipeline wird in einer neuen Browser-Registerkarte geöffnet.

Um verschachtelte Pipelines in Ausführungen zu finden, geben Sie Verschachtelt in den Suchbereich ein.

Tabelle 3. Integrieren von Entwicklungs-, Test-und Bereitstellungsanwendungen
Aufgabentyp Funktion Beispiele und Details
Bamboo

Interagiert mit einem Bamboo-CI-Server, der die Software bei der Vorbereitung für die Bereitstellung kontinuierlich erstellt, testet und integriert sowie Code-Builds auslöst, wenn Entwickler Änderungen übergeben. Macht die vom Bamboo-Build erzeugten Artefakt-Speicherorte verfügbar, sodass die Aufgabe die Parameter für andere Aufgaben ausgeben kann, die für den Build und die Bereitstellung verwendet werden.

Stellen Sie eine Verbindung mit einem Bamboo-Server-Endpoint her und starten Sie einen Bamboo-Build-Plan aus Ihrer Pipeline.

Jenkins

Löst Jenkins-Jobs aus, die Ihren Quellcode erstellen und testen, Testfälle ausführen und benutzerdefinierte Skripts verwenden können.

Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Integrieren von Automation Pipelines in Jenkins.

TFS

Ermöglicht Ihnen, Ihre Pipeline mit Team Foundation Server zu verbinden, um Build-Projekte zu verwalten und aufzurufen, einschließlich konfigurierter Aufträge zum Erstellen und Testen Ihres Codes.

Versionen von Team Foundation Server, die von Automation Pipelines unterstützt werden, finden Sie unter Definition von Endpoints in Automation Pipelines.

vRO

Erweitert den Funktionsumfang von Automation Pipelines, indem vordefinierte oder benutzerdefinierte Workflows in VMware Aria Automation Orchestrator ausgeführt werden.

Automation Pipelines unterstützt Standardauthentifizierung und tokenbasierte Authentifizierung für VMware Aria Automation Orchestrator. Automation Pipelines verwendet das API-Token zum Authentifizieren und Validieren des VMware Aria Automation Orchestrator-Clusters. Mit tokenbasierter Authentifizierung bietet Automation Pipelines Unterstützung für VMware Aria Automation Orchestrator-Endpoints, die einen Cloud-Erweiterbarkeits-Proxy verwenden. Sie können daher in Automation Pipelines Workflows mit einem VMware Aria Automation Orchestrator-Endpoint auslösen, der den Cloud-Erweiterbarkeits-Proxy verwendet.

Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Integrieren von Automation Pipelines in VMware Aria Automation Orchestrator.

Tabelle 4. Integrieren anderer Anwendungen über eine API
Aufgabentyp Funktion Beispiele und Details
REST

Integriert Automation Pipelines mit anderen Anwendungen, die eine REST API verwenden, sodass Sie kontinuierlich miteinander interagierende Softwareanwendungen entwickeln und bereitstellen können.

Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Verwenden einer REST API für die Integration von Automation Pipelines in andere Anwendungen.

Abfrage

Ruft eine REST API auf und fragt sie ab, bis die Pipeline-Aufgabe die Beendigungskriterien erfüllt und abgeschlossen ist.

Ein Automation Pipelines-Administrator kann die Abrufanzahl auf maximal 10000 festlegen. Das Abfrageintervall muss größer oder gleich 60 Sekunden sein.

Wenn Sie das Kontrollkästchen Bei Fehler fortfahren aktivieren und die Anzahl oder das Intervall diese Werte überschreiten, wird die Abfrageaufgabe weiterhin ausgeführt.

POLL Iteration Count: Wird in der Pipeline-Ausführung angezeigt und zeigt an, wie oft die POLL-Aufgabe eine Antwort von der URL angefordert hat. Wenn beispielsweise die POLL-Eingabe 65 lautet und die POLL-Anforderung tatsächlich 4 Mal ausgeführt wurde, wird in der Pipeline-Ausführungsausgabe die Iterationsanzahl „4 (von 65)“ angezeigt.

Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Verwenden einer REST API für die Integration von Automation Pipelines in andere Anwendungen.

Tabelle 5. Ausführen von Remote-Skripts und benutzerdefinierten Skripts
Aufgabentyp Funktionsweise Beispiele und Details
PowerShell

Mit der Aufgabe „PowerShell“ kann Automation Pipelines Skriptbefehle auf einem Remote-Host ausführen. Ein Skript kann beispielsweise Testaufgaben automatisieren und administrative Befehlstypen ausführen.

Das Skript kann remote oder benutzerdefiniert sein. Es kann über HTTP oder HTTPS eine Verbindung herstellen und TLS verwenden.

Auf dem Windows-Host muss der winrm-Dienst konfiguriert sein und für winrm müssen MaxShellsPerUser und MaxMemoryPerShellMB konfiguriert sein.

Um eine PowerShell-Aufgabe ausführen zu können, müssen Sie über eine aktive Sitzung mit dem Remote-Windows-Host verfügen.

Länge der PowerShell-Befehlszeile

Wenn Sie einen base64-PowerShell-Befehl eingeben, beachten Sie, dass Sie die Gesamtlänge des Befehls berechnen müssen.

Die Automation Pipelines-Pipeline codiert und umhüllt einen base64-PowerShell-Befehl in einem anderen Befehl, wodurch die Gesamtlänge des Befehls erhöht wird.

Die maximal zulässige Länge eines winrm-PowerShell-Befehls beträgt 8192 Byte. Der Grenzwert für die Befehlslänge ist für die PowerShell-Aufgabe niedriger, wenn sie verschlüsselt und umhüllt ist. Folglich müssen Sie die Befehlslänge berechnen, bevor Sie den PowerShell-Befehl eingeben.

Der Grenzwert für die Befehlslänge für die Automation Pipelines-PowerShell-Aufgabe richtet sich nach der base64-codierten Länge des ursprünglichen Befehls. Die Länge des Befehls wird wie folgt berechnet.

3 * (length of original command / 4)) - (numberOfPaddingCharacters) + 77 (Length of Write-output command)

Die Länge des Befehls für Automation Pipelines muss unter dem maximalen Grenzwert von 8192 liegen.

Wenn Sie MaxShellsPerUser und MaxMemoryPerShellMB konfigurieren, gilt Folgendes:

  • Der zulässige Wert für MaxShellsPerUser ist 500 für 50 gleichzeitige Pipelines mit fünf PowerShell-Aufgaben für jede Pipeline. Um den Wert festzulegen, führen Sie Folgendes aus: winrm set winrm/config/winrs '@{MaxShellsPerUser="500"}'.
  • Der zulässige Arbeitsspeicherwert für MaxMemoryPerShellMB ist 2048. Um den Wert festzulegen, führen Sie Folgendes aus: winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="2048"}'.

Das Skript schreibt die Ausgabe in eine Antwortdatei, die von einer anderen Pipeline verwendet werden kann.

SSH

Die Aufgabe „SSH“ ermöglicht, dass die Aufgabe „Bash-Shell-Skript“ Skriptbefehle auf einem Remote-Host ausführt. Ein Skript kann beispielsweise Testaufgaben automatisieren und administrative Befehlstypen ausführen.

Das Skript kann remote oder benutzerdefiniert sein. Es kann über HTTP oder HTTPS eine Verbindung herstellen und erfordert einen privaten Schlüssel oder ein Kennwort.

Der SSH-Dienst muss auf dem Linux-Host konfiguriert werden, und die SSHD-Konfiguration MaxSessions muss auf 50 festgelegt werden.

Wenn Sie viele SSH-Aufgaben gleichzeitig ausführen, erhöhen Sie die Werte für MaxSessions und MaxOpenSessions auf dem SSH-Host. Verwenden Sie Ihre VMware Aria Automation-Instanz nicht als SSH-Host, wenn Sie die Konfigurationseinstellungen für „MaxSessions“ und „MaxOpenSessions“ ändern müssen.

Die SSH-Aufgabe bietet keine Unterstützung für private Schlüssel vom Typ „OpenSSH“. Erzeugen Sie das öffentliche/private Schlüsselpaar mithilfe einer der folgenden Methoden:
  • Verwenden Sie PuTTYgen zum Erzeugen des Schlüsselpaars auf einer Windows-Maschine.
  • Verwenden Sie ssh -V auf einer Mac- oder Linux-Maschine, um zu überprüfen, ob die SSH-Version älter als 7.8 ist. Verwenden Sie anschließend ssh -keygen, um das Schlüsselpaar in einem Terminalfenster zu erzeugen.
Hinweis: Stellen Sie sicher, dass der erzeugte Schlüssel nicht mit BEGIN OPENSSH PRIVATE KEY angezeigt wird.
Wenn es sich bei dem erzeugten öffentlichen Schlüssel um einen autorisierten Schlüssel auf der Remotemaschine handelt, lesen Sie einen der folgenden Artikel, um das private OpenSSH-Format zu ändern:

Beim Konfigurieren der SSH-Aufgabe muss der private Schlüssel als Klartext eingegeben werden. Durch Speichern des Schlüssels als Variable oder Eingabe wird das Schlüsselformat geändert, und die Pipeline-Aufgabe kann nicht ausgeführt werden.

Das Skript kann remote oder benutzerdefiniert sein. Ein Skript kann beispielsweise folgendermaßen aussehen:

message="Hello World" echo $message

Das Skript schreibt die Ausgabe in eine Antwortdatei, die von einer anderen Pipeline verwendet werden kann.