Erstellen Sie einen SSH-Workflow

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 2 Minuten Lesedauer
  • Erstellen Sie den SSH-Workflow, der zum Ausschalten der VM erforderlich ist. Verwenden Sie die anwenderdefinierte SSH-Aktivität, die Sie bereits erstellt haben.

    Vorbereitungen

    • Es wurde bereits eine anwenderdefinierte SSH-Aktivität erstellt
    • Erforderliche Rolle: Workflow-Designer oder Administrator

    Warum und wann dieser Vorgang ausgeführt wird

    Wenn Sie einen Workflow erstellen, ordnen Sie ihn einer Tabelle und einer Aktivität zu.
    • Sie können den Workflow in einer Tabelle auf globaler Ebene oder einer Tabelle auf Anwendungsebene erstellen. Verwenden Sie die globale Tabelle, um den Workflow für die Verwendung mit allen ServiceNow-Anwendungen verfügbar zu machen. Hier verwenden wir eine Tabelle für Cloud Provisioning and Governance, Daher ist dieser Workflow nur für die Verwendung mit dieser Anwendung verfügbar.
    • Sie können den Workflow im Workflow-Editor oder im Aktivitätendesigner erstellen. Hier wird der Aktivitätsdesigner verwendet.

    Prozedur

    1. Wählen Sie im Aktivitätendesigner aus Workflows Registerkarte rechts, und klicken Sie dann auf + (Pluszeichen), um einen neuen Workflow hinzuzufügen.
    2. Führen Sie im Fenster „neuer Workflow“ die folgenden Schritte aus:
      1. Geben Sie einen eindeutigen Namen für den Workflow ein.
      2. Von Tabelle Wählen Sie die zu verwendende Tabelle aus.
        Suchen und verwenden Sie cmdb_ci_vm_instance der VM-Instanz Da wir den Workflow zum Ausschalten einer VM verwenden möchten.
      3. Klicken Sie auf Absenden.
    3. Wenn der Workflow im Canvas angezeigt wird, führen Sie die folgenden Schritte aus:
      1. Löschen Sie die Verbindungslinie zwischen dem Start- und Endpunkt des Workflows.
      2. Klicken Sie mit der rechten Maustaste auf den Canvas „weitere Informationen“, und wählen Sie aus Eingaben Bearbeiten .
      3. Erstellen Sie die folgenden Eingaben:
        Hinweis:
        Nehmen Sie die Eingabenamen aus dem Feld Spalte, nicht aus dem Feld Bezeichnung. Wenn der Workflow einer Tabelle auf globaler Ebene zugeordnet ist, wird dem Eingabenamen im Feld Spalte u_ vorangestellt, z. B. u_ipaddress. Hier ist die Tabelle auf Anwendungsebene und benötigt daher kein Präfix.
        Tabelle : 1. Workflow-Eingaben
        Typ Bezeichnung Spalte (automatisch hinzugefügt) Max. Länge
        Zeichenfolge IPAddress ipaddress 100
        Zeichenfolge CredentialTag CredentialTag 100
      4. Klicken Sie auf Absenden.
    4. Klicken Sie mit der rechten Maustaste auf den Canvas, und wählen Sie aus Fügen Sie Eine Anwenderdefinierte Aktivität Hinzu .
    5. Suchen Sie im Fenster „Versionen“ nach der Aktivität, die Sie zuvor in erstellt haben, und wählen Sie sie aus Erstellen Sie die anwenderdefinierte SSH-Aktivität.
    6. Führen Sie im Fenster „neue Aktivität“ für diese Aktivität (neuer Datensatz für Workflow-Aktivität [Diagrammansicht]) die folgenden Schritte aus:
      1. Geben Sie einen Namen für die Aktivität ein.
      2. In Host Feld: Geben Sie die Eingabezuordnung ein, die die Aktivität erwartet.

        Das heißt die IP-Adresse des Hosts: ${workflow.inputs.u_ipaddress}.

        Verwenden Sie diesen Ausdruck für die IP-Adresse:

        $(Skript:CMPVMUtils.getReachableIp[arg=$(Stack.items[Virtual Server].attributes[sys_ID])])

      3. Geben Sie im Feld Befehl ein shutdown -h now
      4. Geben Sie im Feld Anmeldeinformations-Tag ein ${workflow.inputs.u_credentialtag}

        Verwenden Sie diesen Ausdruck, um das Anmeldeinformations-Tag abzurufen:

        $(Skript:CMPVMUtils.getCredentialAlias[arg=${Stack.items[Virtual Server].attributes[sys_ID]}])

      5. Klicken Sie auf Absenden.
        Die Aktivität wird im Workflow-Canvas angezeigt.
    7. Klicken Sie mit der rechten Maustaste auf den Canvas, und wählen Sie aus Fügen Sie Eine Kernaktivität Hinzu Dient zum Hinzufügen einer Skriptaktivität.
    8. Suchen Sie im Fenster Workflow-Aktivitätsdefinitionen nach, und wählen Sie aus Skript Ausführen .
    9. Führen Sie im Fenster neue Aktivität: Skript ausführen die folgenden Schritte aus:
      1. Geben Sie einen Namen für die Aktivität ein.
      2. Schneiden Sie ein Skript (passend zu Ihrer Umgebung) aus, und fügen Sie es in ein Skript Feld.

        Dieses Skript aktualisiert den Status der VM, nachdem sie heruntergefahren wurde.

        Beispielskript:
        if ( gs.nil(data.get(3).error)) {
                            current.state = 'off';
                            current.setWorkflow(false);
                            current.update();
        }
        
      3. Klicken Sie auf Absenden.
    10. Verbinden Sie im Canvas die Connectors zwischen dem Anfangspunkt, der Aktivität, dem Ausführungsskript und dem Endpunkt.
    11. Klicken Sie Auf Veröffentlichen Um den Workflow verfügbar zu machen.
    12. Validieren Sie den Workflow mithilfe der Workflow-Validierung.
      Hinweis:
      Das System empfiehlt nicht die Verwendung von current.Update(). Dies kann ignoriert werden.