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:

  1. Wenden Sie das CODESTREAM-Tag auf den vRO-Workflow an.
  2. Markieren Sie den vRO-Workflow als „Global“.

Als lokaler Endpoint muss vRealize Orchestrator mit Code Stream über einen Cloud-Proxy kommunizieren.

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 VMware Code Stream.
  • Erstellen Sie in VMware Cloud Assembly einen Cloud-Proxy, der die Kommunikation zwischen Code Stream und der lokalen Instanz von vRealize Orchestrator ermöglicht. Ein Beispiel dafür, wie ein Cloud-Proxy erstellt wird, finden Sie unter Einrichten von VMware Code Stream zum Modellieren des Freigabeprozesses.
  • Verstehen Sie, wie wichtig die Verwendung eines Cloud-Proxys für einen lokalen Endpoint ist. Weitere Informationen hierzu finden Sie unter Definition von Endpoints in Code Stream.
  • Erstellen Sie in Code Stream eine Pipeline und fügen Sie eine Phase hinzu.

Prozedur

  1. Bereiten Sie als Administrator einen vRealize Orchestrator-Workflow für die Ausführung Ihrer Pipeline vor.
    1. 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.
    2. Geben Sie Tag-Workflow in der Suchleiste ein, um nach dem Workflow mit der Bezeichnung Tag-Workflow zu suchen.
    3. Klicken Sie auf der Karte mit dem Namen Tag-Workflow auf Ausführen, wodurch der Konfigurationsbereich angezeigt wird.
    4. 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.
    5. Geben Sie in den Bereichen Tag und Wert die Bezeichnung CODESTREAM in Großbuchstaben ein.
    6. Aktivieren Sie das Kontrollkästchen mit dem Namen Globales Tag.
    7. 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.
    8. 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.
  2. Erstellen Sie in Code Stream einen Endpoint für Ihre vRealize Orchestrator-Instanz.
    1. Klicken Sie auf Endpoints > Neuer Endpoint.
    2. Wählen Sie ein Projekt aus.
    3. Geben Sie einen relevanten Namen ein.
    4. Geben Sie die URL des vRealize Orchestrator-Endpoints ein.
      Verwenden Sie folgendes Format: https://host-n-01-234.eng.vmware.com:8281
      Folgendes Format sollte nicht verwendet werden: https://host-n-01-234.eng.vmware.com:8281/vco/api
      Bei 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 oder Pfad. Beispiel: https://vra-appliance.yourdomain.local
      Für externe vRealize Orchestrator-Appliances ab vRealize Automation 8.x lautet der FQDN für die Appliance https://vro-appliance.yourdomain.local
      Wenn 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>
      ```
      Fü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/vco
    5. Wählen Sie einen Cloud-Proxy aus.
    6. Klicken Sie auf Zertifikat akzeptieren, wenn die von Ihnen eingegebene URL ein Zertifikat benötigt.
      Wenn Sie einen vRealize Orchestrator-Endpoint hinzufügen, ist es wichtig, dass Sie das Zertifikat akzeptieren, da der Endpoint es möglicherweise benötigt.
    7. Geben Sie den Benutzernamen und das Kennwort für den vRealize Orchestrator-Server an.
      Wenn Sie einen nicht lokalen Benutzer für die Authentifizierung verwenden, müssen Sie den Domänenteil des Benutzernamens weglassen. Beispiel: Zur Authentifizierung mit svc_vro@yourdomain.local müssen Sie svc_vro im Textbereich Benutzername eingeben.
  3. Bereiten Sie Ihre Pipeline für die Ausführung der vRO-Aufgabe vor.
    1. Fügen Sie Ihrer Pipeline-Phase eine vRO-Aufgabe hinzu.
    2. Geben Sie einen relevanten Namen ein.
    3. Wählen Sie im Bereich „Workflow-Eigenschaften“ den vRealize Orchestrator-Endpoint aus.
    4. 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.
    5. Klicken Sie für Aufgabe ausführen auf Bei Bedingung.
      Wenn Sie Bedingungen für die vRealize Orchestrator-Aufgabe anwenden müssen, geben Sie sie in den Bereich Bedingung ein.
    6. 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.
    7. Geben Sie eine Nachricht für die Begrüßung ein.
    8. Klicken Sie auf Aufgabe validieren und beheben Sie alle auftretenden Fehler.
  4. Speichern, aktivieren Sie Ihre Pipeline aus und führen sie sie aus.
  5. Überprüfen Sie nach der Ausführung der Pipeline die Ergebnisse.
    1. Klicken Sie auf Ausführungen.
    2. Klicken Sie auf die Pipeline.
    3. Klicken Sie auf die Aufgabe.
    4. 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.