Beim Binden einer Pipeline-Aufgabe erstellen Sie eine Abhängigkeit für die Aufgabe, wenn die Pipeline ausgeführt wird. Zum Erstellen einer Bindung für eine Pipeline-Aufgabe stehen mehrere Möglichkeiten zur Verfügung. Sie können eine Aufgabe an eine andere Aufgabe, an eine Variable, einen Ausdruck oder an eine Bedingung binden.

Vorgehensweise zum Anwenden von Dollarbindungen auf Cloud-Vorlagenvariablen in einer Cloud-Vorlagenaufgabe

Sie können Dollarbindungen auf Cloud-Vorlagenvariablen in einer Cloud-Vorlagenaufgabe der Code Stream-Pipeline anwenden. Die Art und Weise, wie Sie die Variablen in Code Stream ändern, richtet sich nach der Kodierung der Variableneigenschaften in der Cloud-Vorlage.

Wenn Sie Dollarbindungen in einer Cloud-Vorlagenaufgabe verwenden müssen, die aktuelle Version der in der Cloud-Vorlagenaufgabe verwendeten Cloud-Vorlage dies aber nicht zulässt, ändern Sie die Cloud-Vorlage in Cloud Assembly und stellen Sie eine neue Version bereit. Verwenden Sie anschließend die neue Cloud-Vorlagenversion in Ihrer Cloud-Vorlagenaufgabe und fügen Sie die Dollarbindungen bei Bedarf hinzu.

Zum Anwenden von Dollarbindungen auf die von der Cloud Assembly-Cloud-Vorlage bereitgestellten Eigenschaftstypen benötigen Sie die entsprechenden Berechtigungen.

  • Sie müssen dieselbe Rolle wie die Person aufweisen, die die Bereitstellung der Cloud-Vorlage in Cloud Assembly erstellt hat.
  • Die Person, die die Pipeline modelliert, und die Person, die die Pipeline ausführt, können zwei verschiedene Benutzer mit unterschiedlichen Rollen sein.
  • Wenn ein Entwickler mit der Rolle „ Code Stream-Executor“ die Pipeline modelliert, muss der Entwickler auch dieselbe Cloud Assembly-Rolle wie die Person aufweisen, die die Cloud-Vorlage bereitgestellt hat. Die notwendige Rolle kann beispielsweise „Cloud Assembly-Administrator“ lauten.
  • Nur die Person, die die Pipeline modelliert, kann die Pipeline und die Bereitstellung erstellen, da sie über die Berechtigung verfügt.

So verwenden Sie ein API-Token in der Cloud-Vorlagenaufgabe:

  • Die Person, die die Pipeline modelliert, kann ein API-Token an einen anderen Benutzer mit der Rolle „ Code Stream-Executor“ übergeben. Wenn der Executor die Pipeline dann ausführt, verwendet er das API-Token und die Anmeldedaten, die vom API-Token erstellt werden.
  • Wenn ein Benutzer das API-Token in der Cloud-Vorlagenaufgabe eingibt, werden die Anmeldedaten erstellt, die für die Pipeline notwendig sind.
  • Klicken Sie zum Verschlüsseln des API-Tokenwerts auf Variable erstellen.
  • Wenn Sie keine Variable für das API-Token erstellen und es in der Cloud-Vorlagenaufgabe verwenden, wird der Wert des API-Tokens im Klartext angezeigt.

Führen Sie die folgenden Schritte aus, um Dollarbindungen auf Cloud-Vorlagenvariablen in einer Cloud-Vorlagenaufgabe anzuwenden.

Sie beginnen mit einer Cloud-Vorlage, für die Eigenschaften der Eingabevariablen definiert sind, wie z. B. integerVar, stringVar, flavorVar, BooleanVar, objectVar und arrayVar. Sie finden die definierten Image-Eigenschaften im Abschnitt resources. Die Eigenschaften im Code der Cloud-Vorlage ähneln unter Umständen Folgendem:

formatVersion: 1
inputs:
  integerVar:
    type: integer
    encrypted: false
    default: 1
  stringVar:
    type: string
    encrypted: false
    default: bkix
  flavorVar:
    type: string
    encrypted: false
    default: medium
  BooleanVar:
    type: boolean
    encrypted: false
    default: true
  objectVar:
    type: object
    encrypted: false
    default:
      bkix2: bkix2
  arrayVar:
    type: array
    encrypted: false
    default:
      - '1'
      - '2'
resources:
  Cloud_Machine_1:
    type: Cloud.Machine
    properties:
      image: ubuntu
      flavor: micro
      count: '${input.integerVar}'

Sie können die Dollarzeichenvariablen ($) für image und flavor verwenden. Beispiel:

resources:
  Cloud_Machine_1:
    type: Cloud.Machine
    properties:
      input: '${input.image}'
      flavor: '${input.flavor}'

Zum Verwenden einer Cloud-Vorlage in einer Code Stream-Pipeline und Hinzufügen von Dollarbindungen gehen Sie nach diesen Schritten vor.

  1. Klicken Sie in Code Stream auf Pipelines > Leere Arbeitsfläche.
  2. Fügen Sie der Pipeline eine Aufgabe vom Typ Cloud-Vorlage hinzu.
  3. Wählen Sie in der Cloud-Vorlagenaufgabe für Quelle der Cloud-Vorlage die Option Cloud Assembly-Cloud-Vorlagen aus, geben Sie den Namen der Cloud-Vorlage ein und wählen Sie die Version der Cloud-Vorlage aus.
  4. Beachten Sie, dass Sie ein API-Token eingeben können, das Anmeldedaten für die Pipeline liefert. Um eine Variable zu erstellen, die das API-Token in der Cloud-Vorlagenaufgabe verschlüsselt, klicken Sie auf Variable erstellen.
  5. Beachten Sie in der angezeigten Tabelle Parameter und Wert die Parameterwerte. Der Standardwert für flavor ist small und der Standardwert für image ist ubuntu.
  6. Angenommen, Sie müssen die Cloud-Vorlage in Cloud Assembly ändern. Beispiel:
    1. Legen Sie den flavor so fest, dass er eine Eigenschaft vom Typ array verwendet. Cloud Assembly lässt kommagetrennte Werte für flavor zu, wenn array als Typ verwendet wird.
    2. Klicken Sie auf Bereitstellen.
    3. Geben Sie auf der Seite „Bereitstellungstyp“ einen Namen für die Bereitstellung ein und wählen Sie die Version der Cloud-Vorlage aus.
    4. Auf der Seite „Bereitstellungseingaben“ können Sie einen oder mehrere Werte für Typ definieren.
    5. Beachten Sie, dass die Bereitstellungseingaben alle im Code der Cloud-Vorlage definierten Variablen enthalten und im Code der Cloud-Vorlage definitionsgemäß angezeigt werden. Beispiel: Integer Var, String Var, Flavor Var, Boolean Var, Object Var und Array Var. String Var und Flavor Var sind Zeichenfolgenwerte. Boolean Var ist ein Kontrollkästchen.
    6. Klicken Sie auf Bereitstellen.
  7. Wählen Sie in Code Stream die neue Version der Cloud-Vorlage aus und geben Sie Werte in der Tabelle Parameter und Werte ein. Cloud-Vorlagen unterstützen die folgenden Parametertypen, die Code Stream-Bindungen mithilfe von Dollarzeichenvariablen aktivieren. Es bestehen geringfügige Unterschiede zwischen der Benutzeroberfläche der Code Stream-Cloud-Vorlagenaufgabe und der Benutzeroberfläche der Cloud Assembly-Cloud-Vorlage. Je nach Codierung einer Cloud-Vorlage in Cloud Assembly ist die Eingabe von Werten in der Cloud-Vorlagenaufgabe in Code Stream nicht zulässig.
    1. Wenn in der Cloud-Vorlage der Typ als Zeichenfolge oder Array für flavorVar definiert wurde, geben Sie eine Zeichenfolge oder ein kommagetrenntes Wert-Array ein. Ein Beispiel-Array ähnelt test, test.
    2. Wählen Sie für BooleanVar im Dropdown-Menü die Option true oder false aus. Geben Sie alternativ zur Verwendung einer Variablenbindung den Wert $ ein und wählen Sie eine Variablenbindung aus der Liste aus.Wenn Sie die Bindungsvariable hinzufügen, indem Sie das Dollarzeichen in den Textbereich BooleanVar eingeben, werden die verfügbaren booleschen Variablen zur Auswahl angezeigt.
    3. Geben Sie für objectVar den Wert in geschweiften Klammern und Anführungszeichen in folgendem Format ein: {"bkix":"bkix":}.
    4. Der Wert objectVar wird an die Cloud-Vorlage übergeben und kann je nach Cloud-Vorlage auf verschiedene Arten verwendet werden. Dieser Wert ermöglicht ein Zeichenfolgenformat für ein JSON-Objekt, und Sie können Schlüssel-Wert-Paare in der Schlüssel-Wert-Tabelle als kommagetrennte Werte hinzufügen. Sie können Klartext für ein JSON-Objekt oder ein Schlüssel-Wert-Paar als normales Zeichenfolgenformat für JSON eingeben.
    5. Geben Sie für arrayVar den kommagetrennten Eingabewert als Array in folgendem Format ein: ["1","2"].
  8. In der Pipeline können Sie einen Eingabeparameter an ein Array binden.
    1. Klicken Sie auf die Registerkarte Eingabe.
    2. Geben Sie einen Namen für die Eingabe ein. Beispielsweise arrayInput.
    3. Klicken Sie in der Tabelle Parameter und Wert auf arrayVar und geben Sie ${input.arrayInput} ein.
    4. Nachdem Sie die Pipeline gespeichert und aktiviert haben, müssen Sie bei Ausführung der Pipeline einen Eingabewert für das Array angeben. Geben Sie z. B. ["1","2"] ein und klicken Sie auf Ausführen.

Jetzt haben Sie sich in einer Cloud-Vorlagenaufgabe der Code Stream-Pipeline mit der Verwendung von $-Variablenbindungen in einer Cloud-Vorlage vertraut gemacht.

Vorgehensweise zum Übergeben eines Parameters an eine Pipeline, während diese ausgeführt wird

Sie können der Pipeline Eingabeparameter hinzufügen, damit sie von Code Stream an die Pipeline übergeben werden. Wenn die Pipeline dann ausgeführt wird, muss ein Benutzer den Wert für den Eingabeparameter eingeben. Wenn Sie Ausgabeparameter zur Pipeline hinzufügen, können die Pipeline-Aufgaben den Ausgabewert aus einer Aufgabe verwenden. Code Stream bietet vielfältige Unterstützung für die Verwendung von Parametern, die sich nach Ihren Anforderungen an Pipelines richtet.

Wenn Sie einen Benutzer während der Ausführung einer Pipeline mit einer REST-Aufgabe zur Eingabe der URL des Git-Servers auffordern, können Sie die REST-Aufgabe an eine Git-Server-URL binden.

Zum Erstellen der Variablenbindung fügen Sie der REST-Aufgabe eine URL-Bindungsvariable hinzu. Wenn die Pipeline ausgeführt wird und die REST-Aufgabe erreicht, muss ein Benutzer die URL des Git-Servers eingeben. So erstellen Sie die Bindung:

  1. Klicken Sie in Ihrer Pipeline auf die Registerkarte Eingabe.
  2. Klicken Sie zum Einrichten des Parameters für Parameter automatisch einfügen auf Git.

    Die Liste der Git-Parameter wird angezeigt und enthält GIT_SERVER_URL. Wenn Sie einen Standardwert für die Git-Server-URL verwenden müssen, bearbeiten Sie diesen Parameter.

  3. Klicken Sie auf Modell und dann auf die REST-Aufgabe.
  4. Geben Sie auf der Registerkarte Aufgabe im Bereich URL den Wert $ ein und wählen Sie dann Eingabe und GIT_SERVER_URL aus.

    Wenn Sie die Bindungsvariable hinzufügen, indem Sie das Dollarzeichen in den Textbereich URL eingeben und input auswählen, werden die verfügbaren Git-Eingabeparameter zur Auswahl angezeigt.

    Der Eintrag ähnelt folgendem Eintrag: ${input.GIT_SERVER_URL}

  5. Um die Integrität der Variablenbindung für die Aufgabe zu überprüfen, klicken Sie auf Aufgabe validieren.

    Code Stream gibt an, dass die Aufgabe erfolgreich validiert wurde.

  6. Wenn die REST-Aufgabe von der Pipeline ausgeführt wird, muss ein Benutzer die URL des Git-Servers eingeben. Andernfalls wird die Aufgabe immer weiter ausgeführt.

Vorgehensweise zum Binden zweier Pipeline-Aufgaben durch Erstellen von Eingabe- und Ausgabeparametern

Beim Binden von Aufgaben fügen Sie der Eingabekonfiguration der empfangenden Aufgabe eine Bindungsvariable hinzu. Bei der Ausführung der Pipeline ersetzt ein Benutzer die Bindungsvariable dann durch die erforderliche Eingabe.

Um Pipeline-Aufgaben miteinander zu verbinden, verwenden Sie die Dollarzeichen-Variable ($) in den Eingabe- und Ausgabeparametern. Die entsprechende Vorgehensweise finden Sie in diesem Beispiel.

Angenommen, Sie benötigen Ihre Pipeline zum Aufrufen einer URL in einer REST-Aufgabe und Ausgeben einer Antwort. Zum Aufrufen der URL und zur Ausgabe der Antwort fügen Sie sowohl Eingabe- als auch Ausgabeparameter in Ihre REST-Aufgabe ein. Weiterhin benötigen Sie einen Benutzer, der die Aufgabe genehmigen kann, und schließen eine Aufgabe vom Typ „Benutzervorgänge“ für einen anderen Benutzer ein, der die Aufgabe während der Ausführung der Pipeline genehmigen kann. Dieses Beispiel zeigt, wie Sie Ausdrücke in den Eingabe- und Ausgabeparametern verwenden und die Pipeline dazu veranlassen, auf die Genehmigung der Aufgabe zu warten.

  1. Klicken Sie in Ihrer Pipeline auf die Registerkarte Eingabe.

    Die Registerkarte Eingabe in der Pipeline zeigt Auswahlen für Gerrit-, Git- und Docker-Eingabeparameter an und listet die verfügbaren Parameter für jede Auswahl auf.

  2. Belassen Sie die Einstellung Parameter automatisch einfügen bei Keine.
  3. Klicken Sie auf Hinzufügen und geben Sie den Parameternamen, den Wert und die Beschreibung ein. Klicken Sie anschließend auf OK. Beispiel:
    1. Geben Sie einen URL-Namen ein.
    2. Geben Sie den Wert ein: {Stage0.Task3.input.http://www.docs.vmware.com}
    3. Geben Sie eine Beschreibung ein.
  4. Klicken Sie auf die Registerkarte Ausgabe und dann auf Hinzufügen. Geben Sie anschließend den Namen und die Zuordnung des Ausgabeparameters ein.

    Auf der Registerkarte Ausgabe der Pipeline können Sie einen Ausgabeparameter hinzufügen und einen REST-Antwortparameter aus der angezeigten Liste auswählen.

    1. Geben Sie einen eindeutigen Namen für den Ausgabeparameter ein.
    2. Klicken Sie auf den Bereich Referenz und geben Sie $ ein.
    3. Geben Sie die Ausgabezuordnung der Aufgabe ein, indem Sie die verfügbaren Optionen auswählen. Wählen Sie Stage0, Task3, output und responseCode aus. Klicken Sie dann auf OK.

      Nach dem Hinzufügen eines Ausgabeparameters zeigt die Registerkarte Ausgabe den Namen des Parameters an, den Sie hinzugefügt haben, sowie seine Referenz in der Pipeline-Phase und -Aufgabe.

  5. Speichern Sie die Pipeline.
  6. Klicken Sie im Menü Aktionen auf Ausführen.
  7. Klicken Sie auf Aktionen > Ausführungen anzeigen.
  8. Klicken Sie auf die Pipeline-Ausführung und untersuchen Sie die von Ihnen definierten Eingabe- und Ausgabeparameter.

    Die Pipeline-Ausführung zeigt den URL-Eingabeparameter mit der eingegebenen URL und den Antwort-Ausgabeparameter mit dem ausgewählten Antwortcode an.

  9. Klicken Sie zur Genehmigung der Pipeline auf Benutzervorgänge und zeigen Sie die Liste der Genehmigungen auf der Registerkarte Aktive Elemente an. Oder bleiben Sie unter „Ausführungen“ und klicken Sie auf die Aufgabe und dann auf Genehmigen.
  10. Zum Aktivieren der Schaltflächen Genehmigen und Ablehnen klicken Sie auf das Kontrollkästchen neben der Ausführung.
  11. Erweitern Sie zur Anzeige der Details das Dropdown-Menü.
  12. Klicken Sie zum Genehmigen der Aufgabe auf GENEHMIGEN, geben Sie einen Grund ein und klicken Sie auf OK.

    Details zum Benutzervorgang zeigen an, wer die Genehmigung angefordert hat, wann dies geschah, die erforderlichen Genehmiger und wann die Genehmigung abläuft.

  13. Klicken Sie auf Ausführungen und verfolgen Sie die weitere Ausführung der Pipeline.

    Nach der Genehmigung des Benutzervorgangs wird die Pipeline fortgesetzt, und der Status in der Pipeline-Ausführung zeigt WIRD AUSGEFÜHRT an.

  14. Beheben Sie bei einem Ausfall der Pipeline alle Fehler, speichern Sie die Pipeline und führen Sie sie erneut aus.

    Wenn die Pipeline abgeschlossen ist, wird als Status in der Pipeline-Ausführung ABGESCHLOSSEN angezeigt.

Vorgehensweise zum Abrufen von Informationen zu Variablen und Ausdrücken

Weitere Informationen zur Verwendung von Variablen und Ausdrücken beim Binden von Pipeline-Aufgaben finden Sie unter Welche Variablen und Ausdrücke kann ich beim Binden von Pipelineaufgaben in VMware Code Stream verwenden?.

Weitere Informationen zur Verwendung der Ausgabe einer Pipeline-Aufgabe mit einer Variablenbindung für Bedingungen finden Sie unter Vorgehensweise zum Verwenden von Variablenbindungen in einer Bedingungsaufgabe zum Ausführen oder Anhalten einer Pipeline in VMware Code Stream.