Sie können Ihre Pipeline so konfigurieren, dass bestimmte Aktionen durchgeführt werden. Dazu fügen Sie bestimmte Aufgabentypen zu ihr hinzu. Jeder Aufgabentyp wird mit einer anderen Anwendung integriert, damit Ihre Pipeline den vorgesehenen Zweck erfüllen kann.

Ganz gleich, ob Sie Artefakte aus einem Repository abrufen müssen, um sie bereitzustellen, ob Sie ein Remote-Skript ausführen oder eine Genehmigung von einem Teammitglied anfordern müssen, damit Ihre Pipeline ausgeführt werden kann – in VMware Code Stream finden Sie den geeigneten Aufgabentyp für diese Anforderungen.

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

Tabelle 1. Anfordern einer Genehmigung oder Festlegen eines Entscheidungspunkts
Aufgabentyp Funktion Beispiele und Details
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 Code Stream.

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 VMware Code Stream.

Tabelle 2. Automatisieren der kontinuierlichen Integration und Bereitstellung
Aufgabentyp Funktion 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 Code Stream bereitgestellt wird.
CI

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.

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

Benutzerdefiniert

Integriert VMware Code Stream in Ihre eigenen Build-, Test- und Bereitstellungstools.

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

Kubernetes

Automatisiert die Bereitstellung Ihrer Softwareanwendungen für Kubernetes-Cluster auf AWS.

Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Automatisieren der Freigabe einer Anwendung in Code Stream 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 Code Stream 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.

VMware Code Stream unterstützt Team Foundation Server 2013 und 2015.

vRO

Erweitert den Funktionsumfang von VMware Code Stream, indem vordefinierte oder benutzerdefinierte Workflows in vRealize Orchestrator ausgeführt werden.

Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Integrieren von Code Stream in vRealize Orchestrator.

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

Integriert VMware Code Stream 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 VMware Code Stream in andere Anwendungen.

Abfrage

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

Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Verwenden einer REST-API für die Integration von VMware Code Stream in andere Anwendungen.

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

Ermöglicht dem Aufgabentyp „PowerShell-Skript“ die Ausführung von Skriptbefehlen auf einem Remote-Host. 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.

Der Dienst mit dem Namen winrm muss auf dem Windows-Host konfiguriert werden. Darüber hinaus muss winrm für MaxShellsPerUser und MaxMemoryPerShellMB konfiguriert werden.

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 Code Stream-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 Code Stream-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 Code Stream 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

Ermöglicht dem Aufgabentyp „Bash-Shell-Skript“ die Ausführung von Skriptbefehlen auf einem Remote-Host. 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.

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.