Code Stream kann mit vRealize Orchestrator (vRO) integriert werden, um die zugehörigen Funktionen durch Ausführung von vRO-Workflows zu erweitern. vRealize Orchestrator enthält viele vordefinierte Workflows, die in Tools von Drittanbietern integriert werden können. Diese Workflows helfen dabei, Ihre DevOps-Prozesse zu automatisieren und zu verwalten, Massenvorgänge zu automatisieren und vieles mehr.
Sie können beispielsweise einen Workflow in einer vRO-Aufgabe in Ihrer Pipeline verwenden, um einen Benutzer zu aktivieren, einen Benutzer zu entfernen, VMs zu verschieben, in Test-Frameworks zu integrieren, um den Code während der Ausführung der Pipeline zu testen, und vieles mehr. Sie können Codebeispiele für vRealize Orchestrator-Workflows in code.vmware.com durchsuchen.
Mit einem vRealize Orchestrator-Workflow kann Ihre Pipeline eine Aktion ausführen, während diese Ihre Anwendung erstellt, testet und bereitstellt. Sie können vordefinierte Workflows in Ihre Pipeline aufnehmen oder benutzerdefinierte Workflows erstellen und verwenden. Jeder Workflow enthält Eingaben, Aufgaben und Ausgaben.
Um einen vRO-Workflow in Ihrer Pipeline auszuführen, muss der Workflow in der Liste der verfügbaren Workflows in der vRO-Aufgabe angezeigt werden, die Sie in Ihre Pipeline aufnehmen.
Bevor der Workflow in der vRO-Aufgabe in Ihrer Pipeline angezeigt werden kann, muss ein Administrator die folgenden Schritte in vRealize Orchestrator durchführen:
- Wenden Sie das CODESTREAM-Tag auf den vRO-Workflow an.
- Markieren Sie den vRO-Workflow als „Global“.
Voraussetzungen
- Stellen Sie sicher, dass Sie als Administrator auf eine lokale Instanz von vRealize Orchestrator zugreifen können. Weitere Informationen erhalten Sie von Ihrem Administrator und in der vRealize Orchestrator-Dokumentation.
- Vergewissern Sie sich, dass Sie Mitglied eines Projekts in Code Stream sind. Falls nicht, bitten Sie einen Code Stream-Administrator, Sie als Mitglied eines Projekts hinzuzufügen. Weitere Informationen hierzu finden Sie unter Vorgehensweise zum Hinzufügen eines Projekts in Code Stream.
- Erstellen Sie in Code Stream eine Pipeline und fügen Sie eine Phase hinzu.
Prozedur
- Bereiten Sie als Administrator einen vRealize Orchestrator-Workflow für die Ausführung Ihrer Pipeline vor.
- In vRealize Orchestrator finden Sie den Workflow, den Sie in Ihrer Pipeline verwenden müssen, wie z. B. einen Workflow zum Aktivieren eines Benutzers.
Wenn Sie einen Workflow benötigen, der nicht vorhanden ist, können Sie ihn erstellen.
- Geben Sie Tag-Workflow in der Suchleiste ein, um nach dem Workflow mit der Bezeichnung Tag-Workflow zu suchen.
- Klicken Sie auf der Karte mit dem Namen Tag-Workflow auf Ausführen, wodurch der Konfigurationsbereich angezeigt wird.
- Geben Sie im Textbereich Markierter Workflow den Namen des in der Code Stream-Pipeline zu verwendenden Workflows ein und wählen Sie ihn dann in der Liste aus.
- Geben Sie in den Bereichen Tag und Wert die Bezeichnung CODESTREAM in Großbuchstaben ein.
- Aktivieren Sie das Kontrollkästchen mit dem Namen Globales Tag.
- Klicken Sie auf Ausführen, wodurch das Tag mit dem Namen CODESTREAM an den Workflow angehängt wird, den Sie in Ihrer Code Stream-Pipeline auswählen müssen.
- Klicken Sie im Navigationsbereich auf Workflows und bestätigen Sie, dass das Tag mit dem Namen CODESTREAM auf der Workflow-Karte angezeigt wird, die von Ihrer Pipeline ausgeführt werden soll.
Nachdem Sie sich bei Code Stream angemeldet und eine vRO-Aufgabe zu Ihrer Pipeline hinzugefügt haben, wird der getaggte Workflow in der Workflow-Liste angezeigt.
- In vRealize Orchestrator finden Sie den Workflow, den Sie in Ihrer Pipeline verwenden müssen, wie z. B. einen Workflow zum Aktivieren eines Benutzers.
- Erstellen Sie in Code Stream einen Endpoint für Ihre vRealize Orchestrator-Instanz.
- Klicken Sie auf .
- Wählen Sie ein Projekt aus.
- Geben Sie einen relevanten Namen ein.
- Geben Sie die URL des vRealize Orchestrator-Endpoints ein.
Verwenden Sie folgendes Format: https://vro-appliance.yourdomain.local:8281Folgendes Format sollte nicht verwendet werden: https://vro-appliance.yourdomain.local:8281/vco/apiBei der URL für eine vRealize Orchestrator-Instanz, die in die vRealize Automation-Appliance eingebettet ist, handelt es sich um den FQDN für die Appliance ohne Port. Beispiel: https://vra-appliance.yourdomain.local/vcoFür externe vRealize Orchestrator-Appliances ab vRealize Automation 8.x lautet der FQDN für die Appliance https://vro-appliance.yourdomain.localFür externe vRealize Orchestrator-Appliances, die im Lieferumfang von vRealize Automation 7.x sind, lautet der FQDN für die Appliance https://vro-appliance.yourdomain.local:8281/vcoWenn beim Hinzufügen des Endpoints ein Problem auftritt, müssen Sie unter Umständen eine YAML-Konfiguration mit einem Fingerabdruck für das SHA-256-Zertifikat importieren und die Doppelpunkte entfernen. Beispiel: B0:01:A2:72... wird zu B001A272.... Der YAML-Beispielcode ähnelt Folgendem:
``` --- project: Demo kind: ENDPOINT name: external-vro description: '' type: vro properties: url: https://yourVROhost.yourdomain.local username: yourusername password: yourpassword fingerprint: <your_fingerprint> ```
- Klicken Sie auf Zertifikat akzeptieren, wenn die von Ihnen eingegebene URL ein Zertifikat benötigt.
- Wenn der vRealize Orchestrator-Endpoint Version 8.0 bis 8.7 ist, können Sie Standardauthentifizierung oder Token als Authentifizierungstyp auswählen. Wenn der vRealize Orchestrator-Endpoint Version 8.8 oder höher aufweist, müssen Sie Token als Authentifizierungstyp auswählen.
Hinweis: Wenn der vRealize Orchestrator-Endpoint Version 8.8 oder höher aufweist, wählen Sie Standardauthentifizierung nicht aus. Die Standardauthentifizierung wird nicht unterstützt, und die Endpoint-Erstellung schlägt fehl.
- Wenn Sie Standardauthentifizierung auswählen, geben Sie den Benutzernamen und das Kennwort für den vRealize Orchestrator-Server ein.
Wenn Sie einen nicht lokalen Benutzer für die Authentifizierung verwenden, müssen Sie den Domänenteil des Benutzernamens weglassen. Beispiel: Zur Authentifizierung mit [email protected] müssen Sie svc_vro im Textbereich Benutzername eingeben.
- Erzeugen Sie bei Auswahl von Token für den Authentifizierungstyp das private Token.
Das VMware Cloud Services-API-Token authentifiziert Sie für externe API-Verbindungen mit Code Stream. So rufen Sie das API-Token ab:
- Klicken Sie auf Token generieren.
- Geben Sie die E-Mail-Adresse ein, die mit Ihrem Benutzernamen und Kennwort verknüpft ist, und klicken Sie auf Generieren.
Das von Ihnen generierte Token ist sechs Monate lang gültig. Es wird auch als Aktualisierungstoken bezeichnet.
- Um das Token als Variable für die spätere Verwendung beizubehalten, klicken Sie auf Variable erstellen, geben Sie einen Namen für die Variable ein und klicken Sie auf Speichern.
- Um das Token als Textwert für die spätere Verwendung beizubehalten, klicken Sie auf Kopieren und fügen Sie das Token in eine Textdatei ein, um es lokal zu speichern.
- Klicken Sie auf Schließen.
- Wenn Sie Standardauthentifizierung auswählen, geben Sie den Benutzernamen und das Kennwort für den vRealize Orchestrator-Server ein.
- Bereiten Sie Ihre Pipeline für die Ausführung der vRO-Aufgabe vor.
- Fügen Sie Ihrer Pipeline-Phase eine vRO-Aufgabe hinzu.
- Geben Sie einen relevanten Namen ein.
- Wählen Sie im Bereich „Workflow-Eigenschaften“ den vRealize Orchestrator-Endpoint aus.
- Wählen Sie den Workflow aus, den Sie als CODESTREAM in vRealize Orchestrator markiert haben.
Wenn Sie einen von Ihnen erstellten benutzerdefinierten Workflow auswählen, müssen Sie möglicherweise die Eingabeparameterwerte eingeben.
- Klicken Sie für Aufgabe ausführen auf Bei Bedingung.
- Geben Sie die Bedingungen ein, die beim Ausführen der Pipeline angewendet werden.
Pipeline ausführen... Bedingungen auswählen... Bei Bedingung Führt die Pipeline-Aufgabe nur aus, wenn die Auswertung der definierten Bedingung „true“ ergibt. Wenn die Bedingung „false“ lautet, wird die Aufgabe übersprungen.
Die vRO-Aufgabe ermöglicht es Ihnen, einen booleschen Ausdruck einzuschließen, der die folgenden Operanden und Operatoren verwendet.
- Pipeline-Variablen, wie beispielsweise ${pipeline.variableName}. Verwenden Sie bei der Eingabe von Variablen nur geschweifte Klammern.
- Aufgabenausgabe-Variablen, wie beispielsweise ${Stage1.task1.machines[0].value.hostIp[0]}.
- Standard-Pipeline-Bindungsvariablen, wie beispielsweise ${releasePipelineName}.
- Boolesche Werte, die der Groß-/Kleinschreibung unterliegen, wie beispielsweise true, false, 'true', 'false'.
- Ganzzahl- oder Dezimalwerte ohne Anführungszeichen.
- Zeichenfolgenwerte, die mit einfachen oder doppelten Anführungszeichen wie "test" oder 'test' verwendet werden.
- Werte vom Typ „Zeichenfolge“ und „Numerisch“, wie beispielsweise == Equals und != Not Equals.
- Relationale Operatoren wie >, >=, < und <=.
- Boolesche Logik wie && und ||.
- Arithmetische Operatoren wie +, -, * und /.
- Geschachtelte Ausdrücke mit runden Klammern.
- Zeichenfolgen, die den Literalwert ABCD enthalten, werden als falsch ausgewertet und die Aufgabe wird übersprungen.
- Unäre Operatoren werden nicht unterstützt.
Eine mögliche Beispielbedingung ist ${Stage1.task1.output} == “Passed” || ${pipeline.variableName} == 39
Immer Wenn Sie Immer auswählen, führt die Pipeline die Aufgabe ohne Bedingungen aus. - Geben Sie eine Nachricht für die Begrüßung ein.
- Klicken Sie auf Aufgabe validieren und beheben Sie alle auftretenden Fehler.
- Speichern, aktivieren Sie Ihre Pipeline aus und führen sie sie aus.
- Überprüfen Sie nach der Ausführung der Pipeline die Ergebnisse.
- Klicken Sie auf Ausführungen.
- Klicken Sie auf die Pipeline.
- Klicken Sie auf die Aufgabe.
- Untersuchen Sie die Ergebnisse, den Eingabewert und die Eigenschaften.
Sie können die Ausführungs-ID des Workflows, die Person, die auf die Aufgabe reagiert hat, den Zeitpunkt der Reaktion und alle darin enthaltenen Kommentare identifizieren.
Ergebnisse
Herzlichen Glückwunsch! Sie haben einen vRealize Orchestrator-Workflow für die Verwendung in Code Stream markiert und eine vRO-Aufgabe in Ihrer Code Stream-Pipeline hinzugefügt, sodass ein Workflow ausgeführt wird, der eine Aktion in Ihrer DevOps-Umgebung automatisiert.
Beispiel: Ausgabeformat der vRO-Aufgabe
Das Ausgabeformat für eine vRO-Aufgabe ähnelt diesem Beispiel.
[{ "name": "result", "type": "STRING", "description": "Result of workflow run.", "value": "" }, { "name": "message", "type": "STRING", "description": "Message", "value": "" }]
Nächste Maßnahme
Fügen Sie weiterhin vRO-Workflow-Aufgaben in Ihre Pipelines ein, damit Sie Aufgaben in Ihren Entwicklungs-, Test- und Produktionsumgebungen automatisieren können.