Continuous Integration und Continuous Deployment für Azure IoT Edge-Geräte (klassischer Editor)

Gilt für:IoT Edge 1.4 Häkchen IoT Edge 1.4

Wichtig

IoT Edge 1.5 LTS und IoT Edge 1.4 sind unterstützte Releases. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.

Azure Pipelines enthält eine integrierte Azure IoT Edge-Aufgabe, mit der Sie DevOps in Ihre Azure IoT Edge-Anwendungen übernehmen können. In diesem Artikel wird gezeigt, wie Sie die Features für Continuous Integration und Continuous Deployment von Azure Pipelines zum schnellen und effizienten Erstellen, Testen und Bereitstellen von Anwendungen in Azure IoT Edge mithilfe des klassischen Editors verwenden können. Alternativ können Sie YAML verwenden.

Diagramm der kontinuierlichen Integration und kontinuierlichen Entwicklungszweige für Entwicklung und Produktion.

In diesem Artikel erfahren Sie, wie Sie mithilfe der integrierten Azure IoT Edge-Aufgaben für Azure Pipelines Build- und Releasepipelines für Ihre IoT Edge-Projektmappe erstellen können. Jede Azure IoT Edge-Aufgabe, die Ihrer Pipeline hinzugefügt wird, implementiert eine der folgenden vier Aktionen:

Aktion Beschreibung
Erstellen von Modulimages Erstellt aus Ihrem IoT Edge-Projektmappencode die Containerimages.
Pushen von Modulimages Pusht Modulimages in die angegebene Containerregistrierung.
Generieren des Bereitstellungsmanifests Generiert aus einer „deployment.template.json“-Datei und den zugehörigen Variablen die finale Manifestdatei für eine IoT Edge-Bereitstellung.
Bereitstellen auf IoT Edge-Geräten Erstellt IoT Edge-Bereitstellungen auf einem oder mehreren IoT Edge-Geräten.

Sofern nicht anders angegeben, untersuchen die Prozeduren in diesem Artikel nicht die gesamte Funktionalität, die über Aufgabenparameter zur Verfügung steht. Weitere Informationen finden Sie in den folgenden Ressourcen:

Voraussetzungen

  • Ein Azure Repos-Repository. Wenn Sie keines besitzen, können Sie ein neues Git-Repository in Ihrem Projekt erstellen. Für diesen Artikel haben wir ein Repository namens IoTEdgeRepo erstellt.

  • Eine per Push an Ihr Repository committete IoT Edge-Lösung. Wenn Sie eine neue Beispiellösung für die Tests in diesem Artikel erstellen möchten, führen Sie die Schritte unter Entwickeln von Azure IoT Edge-Modulen mithilfe von Visual Studio Code aus. Für diesen Artikel haben wir in unserem Repository die Projektmappe IoTEdgeSolution erstellt, die den Code für das Modul filtermodule enthält.

    In diesem Artikel benötigen Sie lediglich den von den IoT Edge-Vorlagen in Visual Studio Code oder Visual Studio erstellten Projektmappenordner. Sie müssen diesen Code nicht erstellen, pushen, bereitstellen oder debuggen, bevor Sie fortfahren. Sie werden diese Prozesse in Azure Pipelines einrichten.

    Sie müssen den Pfad zur Datei deployment.template.json in Ihrer Projektmappe kennen, der in verschiedenen Schritten verwendet wird. Wenn Sie mit der Rolle der Bereitstellungsvorlage nicht vertraut sind, finden Sie weitere Informationen unter Bereitstellen von Modulen und Einrichten von Routen in IoT Edge.

    Tipp

    Wenn Sie eine neue Projektmappe erstellen, klonen Sie zunächst das lokale Repository. Dann können Sie die Projektmappe wahlweise direkt im Repositoryordner erstellen. Sie können die neuen Dateien von dort problemlos committen und pushen.

  • Eine Containerregistrierung, in die Sie Modulimages per Push übertragen können. Sie können Azure Container Registry oder eine Drittanbieterregistrierung verwenden.

  • Eine aktive Azure IoT Hub-Instanz mit mindestens zwei IoT Edge-Geräten zum Testen der separaten Test- und Produktionsbereitstellungsstufen. Sie können die Schnellstartartikel zum Erstellen eines IoT Edge-Geräts auf Linux oder Windows befolgen.

Erstellen einer Buildpipeline für Continuous Integration

In diesem Abschnitt erstellen Sie eine neue Buildpipeline. Konfigurieren Sie die Pipeline so, dass sie automatisch ausgeführt wird und dass Buildprotokolle veröffentlicht werden, wenn Sie Änderungen an der IoT Edge-Lösung einchecken.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an (https://dev.azure.com/{your organization}), und öffnen Sie das Projekt, das Ihr IoT Edge-Projektmappenrepository enthält.

    Screenshot, der zeigt, wie Sie Ihr DevOps-Projekt öffnen.

  2. Wählen Sie im Menü im linken Bereich Ihres Projekts Pipelinesaus. Wählen Sie in der Mitte der Seite Pipeline erstellen aus. Wenn Sie aber bereits Buildpipelines haben, wählen Sie oben rechts die Schaltfläche Neue Pipeline aus.

    Screenshot, der zeigt, wie Sie eine neue Buildpipeline erstellen.

  3. Wählen Sie unten auf der Seite Wo befindet sich Ihr Code? die Option Klassischen Editor verwenden aus. Wenn Sie YAML zum Erstellen der Buildpipelines für Ihr Projekt verwenden möchten, lesen Sie den Leitfaden zu YAML.

    Screenshot, der zeigt, wie der klassische Editor verwendet wird.

  4. Folgen Sie den Anweisungen zum Erstellen Ihrer Pipeline.

    1. Geben Sie die Quelleninformationen für die neue Buildpipeline ein. Wählen Sie Azure Repos Git als Quelle und anschließend Projekt, Repository und Branch aus, wo sich der IoT Edge-Projektmappencode befindet. Wählen Sie anschließend Weiter aus.

      Screenshot, der zeigt, wie Sie Ihre Pipelinequelle auswählen.

    2. Wählen Sie Leerer Auftrag anstelle einer Vorlage aus.

      Screenshot, der zeigt, wie Sie mit einem leeren Auftrag für Ihre Buildpipeline beginnen.

  5. Sobald die Pipeline erstellt wurde, gelangen Sie zum Pipeline-Editor. Hier können Sie den Namen, den Agentpool und die Agentspezifikation für die Pipeline ändern.

    Sie können einen von Microsoft gehosteten Pool oder einen von Ihnen verwalteten selbstgehosteten Pool auswählen.

    Wählen Sie in der Pipelinebeschreibung, basierend auf Ihrer Zielplattform, die richtige Agentspezifikation aus:

    Konfigurieren der Build-Agent-Spezifikation

  6. Die Pipeline wird mit einem Auftrag mit dem Namen Agent job 1 vorkonfiguriert. Wählen Sie das Pluszeichen (+) aus, um dem Auftrag vier Aufgaben hinzuzufügen: zweimal Azure IoT Edge, einmal Dateien kopieren und einmal Buildartefakte veröffentlichen. Suchen Sie nach jeder Aufgabe, und zeigen Sie auf deren Namen, um die Schaltfläche Hinzufügen anzuzeigen.

    Hinzufügen der Azure IoT Edge-Aufgabe

    Wenn alle vier Aufgaben hinzugefügt werden, sieht Ihr Agent-Auftrag wie im folgenden Beispiel aus:

    Vier Aufgaben in der Buildpipeline

  7. Wählen Sie die erste zu bearbeitende Azure IoT Edge-Aufgabe aus. Diese Aufgabe erstellt alle Module in der Projektmappe mit der angegebenen Zielplattform. Bearbeiten Sie die Aufgabe mit den folgenden Werten:

    Parameter Beschreibung
    Anzeigename Der Anzeigename wird bei einer Änderung des Felds „Aktion“ automatisch aktualisiert.
    Aktion Auswählen von Modulimages erstellen.
    „template.json“-Datei Wählen Sie die Auslassungspunkte (...) aus, und navigieren Sie zu der deployment.template.json-Datei in dem Repository, das die IoT Edge-Projektmappe enthält.
    Standardplattform Wählen Sie das entsprechende Betriebssystem für Ihre Module, basierend auf Ihrem IoT Edge-Zielgerät, aus.
    Ausgabevariablen Geben Sie den Verweisnamen an, der dem Dateipfad zugeordnet werden soll, in dem Ihre Datei „deployment.json“ generiert wird, z. B. edge.

    Weitere Informationen zu dieser Aufgabe und den zugehörigen Parametern finden Sie unter Azure IoT Edge-Aufgabe.

    Diese Konfigurationen verwenden das Imagerepository und -tag, die in der module.json-Datei definiert sind, um das Modulimage zu benennen und zu kennzeichnen. Das Erstellen von Modulimages hilft auch dabei, die Variablen durch die exakten Werte zu ersetzen, die Sie in der Datei module.json definiert haben. In Visual Studio oder Visual Studio Code geben Sie den tatsächlichen Wert in einer .env-Datei an. In Azure Pipelines legen Sie den Wert auf der Registerkarte "Pipelinevariablen" fest. Wählen Sie im Menü des Pipeline-Editors die Registerkarte "Variablen" aus, und konfigurieren Sie den Namen und den Wert wie folgt:

    • ACR_ADDRESS: Der Wert Anmeldeserver für Ihre Azure Container Registry-Instanz. Den Wert des Anmeldeservers finden Sie im Azure-Portal auf der Übersichtsseite der Containerregistrierung.

    Wenn in Ihrem Projekt noch weitere Variablen vorhanden sind, können Sie die Namen und Werte auf diese Registerkarte angeben. Das Erstellen von Modulimages erkennt nur Variablen, die im ${VARIABLE}-Format vorliegen. Stellen Sie sicher, dass Sie dieses Format in ihren **/module.json-Dateien verwenden.

  8. Wählen Sie die zweite Azure IoT Edge-Aufgabe aus, um sie zu bearbeiten. Diese Aufgabe überträgt alle Modulimages in die von Ihnen ausgewählte Containerregistrierung.

    Parameter Beschreibung
    Anzeigename Der Anzeigename wird bei einer Änderung des Felds „Aktion“ automatisch aktualisiert.
    Aktion Wählen Sie Modulimages pushen aus.
    Containerregistrierungstyp Verwenden Sie den Standardtyp: Azure Container Registry.
    Azure-Abonnement Wählen Sie Ihr Abonnement aus.
    Azure Container Registry Wählen Sie den Typ der Containerregistrierung aus, mit dem Sie Ihre Modulimages speichern. Je nach ausgewähltem Registrierungstyp ändert sich die Form. Wenn Sie Azure Container Registry auswählen, verwenden Sie die Dropdownlisten, um das Azure-Abonnement und den Namen Ihrer Containerregistrierung auszuwählen. Wenn Sie Generische Containerregistrierung auswählen, wählen Sie Neu zum Erstellen einer Registrierungsdienstverbindung aus.
    „template.json“-Datei Wählen Sie die Auslassungspunkte (...) aus, und navigieren Sie zu der deployment.template.json-Datei in dem Repository, das die IoT Edge-Projektmappe enthält.
    Standardplattform Wählen Sie das entsprechende Betriebssystem für Ihre Module, basierend auf Ihrem IoT Edge-Zielgerät, aus.
    Hinzufügen von Registrierungsanmeldeinformationen zum Bereitstellungsmanifest Geben Sie „true“ an, um dem Bereitstellungsmanifest die Registrierungsanmeldeinformationen zum Pushen von Docker-Images hinzuzufügen.

    Weitere Informationen zu dieser Aufgabe und den zugehörigen Parametern finden Sie unter Azure IoT Edge-Aufgabe.

    Wenn Sie Ihre Modulimages in mehreren Containerregistrierungen hosten können, müssen Sie diese Aufgabe duplizieren. Wählen Sie eine andere Containerregistrierung aus, und verwenden Sie Module für Umgehung in den Einstellungen Erweitert, um die für diese spezifische Registrierung nicht bestimmten Module zu umgehen.

  9. Wählen Sie die Aufgabe Dateien kopieren aus, um sie zu bearbeiten. Verwenden Sie diese Aufgabe, um Dateien in das Artefaktstagingverzeichnis zu kopieren.

    Parameter Beschreibung
    Anzeigenname Den Standardnamen verwenden oder anpassen
    Quellordner Der Ordner mit den Dateien, die kopiert werden sollen.
    Contents Fügen Sie zwei Zeilen hinzu: deployment.template.json und **/module.json. Diese beiden Dateien dienen als Eingaben zum Generieren des IoT Edge-Bereitstellungsmanifests.
    Zielordner Geben Sie die Variable $(Build.ArtifactStagingDirectory) an. Eine Beschreibung finden Sie unter Buildvariablen.

    Weitere Informationen zu dieser Aufgabe und den zugehörigen Parametern finden Sie unter Aufgabe zum Kopieren von Dateien.

  10. Wählen Sie die Aufgabe Buildartefakte veröffentlichen aus, um sie zu bearbeiten. Geben Sie in der Aufgabe einen Pfad für das Artefaktstagingverzeichnis an, sodass dieser für die Releasepipeline veröffentlicht werden kann.

    Parameter Beschreibung
    Anzeigenname Verwenden Sie den Standardnamen, oder passen Sie ihn an.
    Pfad für Veröffentlichung Geben Sie die Variable $(Build.ArtifactStagingDirectory) an. Weitere Informationen finden Sie unter Buildvariablen.
    Artefaktname Verwenden Sie den Standardnamen: drop
    Veröffentlichungsort für Artefakte Standardspeicherort verwenden: Azure Pipelines

    Weitere Informationen zu dieser Aufgabe und den zugehörigen Parametern finden Sie unter Aufgabe zum Veröffentlichen von Buildartefakten.

  11. Wählen Sie die Registerkarte Trigger aus, und aktivieren Sie Continuous Integration aktivieren. Stellen Sie sicher, dass der Branch mit Ihrem Code enthalten ist.

Screenshot, der zeigt, wie der Fortlaufende Integrationstrigger aktiviert wird.

  1. Wählen Sie in der Dropdownliste Speichern und in Warteschlange einreihen die Option Speichern aus.

Diese Pipeline ist jetzt für die automatische Ausführung konfiguriert, wenn Sie neuen Code in Ihr Repository pushen. Die letzte Aufgabe, Veröffentlichen der Pipelineartefakte, löst eine Releasepipeline aus. Fortfahren Sie mit dem nächsten Abschnitt fort, um die Releasepipeline zu erstellen.

Erstellen einer Releasepipeline für kontinuierliche Bereitstellung (Continuous Deployment)

In diesem Abschnitt erstellen Sie eine Releasepipeline, die so konfiguriert ist, dass sie beim Ablegen von Artefakten durch Ihre Buildpipeline automatisch ausgeführt wird und Bereitstellungsprotokolle in Azure Pipelines anzeigt.

So erstellen Sie eine neue Pipeline und fügen eine neue Stufe hinzu:

  1. Wählen Sie auf der Registerkarte Releases unter Pipelines die Schaltfläche + Neue Pipeline aus. Wenn Sie bereits über Releasepipelines verfügen, wählen Sie die Schaltfläche + Neu und dann + Neue Releasepipeline aus.

    Hinzufügen einer Releasepipeline über die Schaltfläche „+ Neue Pipeline“

  2. Wenn Sie aufgefordert werden, eine Vorlage auszuwählen, wählen Sie für den Einstieg Leerer Auftrag aus.

    Starten mit einem leeren Auftrag für Ihre Releasepipeline

  3. Ihre neue Releasepipeline wird mit einer Stufe namens Stage 1 initialisiert. Benennen Sie „Stage 1“ in dev um, und behandeln Sie sie als Continuous Deployment-Pipeline für Ihre Entwicklungsumgebung. Continuous Deployment-Pipelines haben normalerweise mehrere Stages: dev, staging und prod. Sie können unterschiedliche Namen verwenden und je nach Ihrer DevOps-Methode weitere erstellen. Schließen Sie das Stufendetailsfenster nach der Umbenennung.

    Sie können Ihre Releasepipeline auch umbenennen, indem Sie oben den Text „Neue Releasepipeline“ auswählen.

  4. Verknüpfen Sie das Release mit den Buildartefakten, die von der Buildpipeline veröffentlicht werden. Klicken Sie im Artefaktbereich auf Hinzufügen.

    Im Artefaktbereich der Schnittstelle auf „Hinzufügen“ klicken

  5. Wählen Sie auf der Seite Artefakt hinzufügen die Option Build als Quelltyp aus. Wählen Sie das Projekt und die erstellte Buildpipeline aus. Wenn Sie möchten, können Sie den Quellalias in einen aussagekräftigeren Namen ändern. Klicken Sie anschließend auf Hinzufügen.

    Auf der Seite „Artefakt hinzufügen“ die Option „Hinzufügen“ auswählen, um das Artefakt zu erstellen

  6. Öffnen Sie die Artefakttrigger, und wählen Sie die Umschaltfläche aus, um die Continuous Deployment-Trigger zu aktivieren. Nun wird immer dann ein neues Release erstellt, wenn ein neuer Build verfügbar ist.

    Die Artefakttrigger öffnen, und die Umschaltfläche zum Aktivieren des Continuous Deployment-Triggers auswählen

  7. Die Stage dev ist mit einem Auftrag und null (0) Aufgaben vorkonfiguriert. Wählen Sie im Pipelinemenü Aufgaben und dann die Stage dev aus. Wählen Sie den Agentauftrag aus, und ändern Sie dessen Anzeigenamen in QA. Sie können Details zum Agentauftrag konfigurieren, aber die Bereitstellungsaufgabe ist plattformunabhängig, sodass Sie im ausgewählten Agentpool jede beliebige Agentspezifikation verwenden können.

    Anzeigen der Aufgaben für Ihre Stage „dev“ auf der Registerkarte „Aufgaben“

  8. Wählen Sie im Auftrag „QA“ das Pluszeichen (+) aus, um zwei Aufgaben hinzuzufügen. Suchen Sie nach Azure IoT Edge, und fügen Sie die Aufgabe zweimal hinzu.

  9. Wählen Sie die erste Azure IoT Edge-Aufgabe aus, und konfigurieren Sie sie mit den folgenden Werten:

    Parameter Beschreibung
    Anzeigename Der Anzeigename wird bei einer Änderung des Felds „Aktion“ automatisch aktualisiert.
    Aktion Wählen Sie Generate deployment manifest aus.
    „template.json“-Datei Geben Sie den Pfad „$(System.DefaultWorkingDirectory)/Drop/drop/deployment.template.json“ an. Der Pfad wird aus der Buildpipeline veröffentlicht.
    Standardplattform Wählen Sie das entsprechende Betriebssystem für Ihre Module, basierend auf Ihrem IoT Edge-Zielgerät, aus.
    Ausgabepfad Geben Sie den Pfad $(System.DefaultWorkingDirectory)/Drop/drop/configs/deployment.json an. Dieser Pfad ist die finale Datei mit dem IoT Edge-Bereitstellungsmanifest.

    Diese Konfigurationen unterstützen das Ersetzen der Modulimage-URLs in der Datei deployment.template.json. Die Aufgabe Bereitstellungsmanifest generieren hilft auch dabei, die Variablen durch die exakten Werte zu ersetzen, die Sie in der Datei deployment.template.json definiert haben. In Visual Studio/Visual Studio Code geben Sie den tatsächlichen Wert in einer .env-Datei an. In Azure Pipelines legen Sie den Wert auf der Registerkarte Releasepipelinevariablen fest. Wechseln Sie zur Registerkarte Variablen, und konfigurieren Sie den Namen und Wert wie folgt:

    • ACR_ADDRESS: Der Wert Anmeldeserver für Ihre Azure Container Registry-Instanz. Den Anmeldeserver können Sie im Azure-Portal auf der Übersichtsseite Ihrer Containerregistrierung ermitteln.
    • ACR_PASSWORD: Ihr Kennwort für Azure Container Registry.
    • ACR_USER: Ihr Benutzername für Azure Container Registry.

    Wenn Ihr Projekt weitere Variablen enthält, können Sie die Namen und Werte auf dieser Registerkarte angeben. Bereitstellungsmanifest generieren kann nur erkennen, dass die Variablen in der Variante ${VARIABLE} vorliegen. Sorgen Sie dafür, dass Sie diese Variante in Ihren *.template.json-Dateien verwenden.

    "registryCredentials": {
      "<ACR name>": { // Your Azure Container Registry **Registry name** value
        "username": "${ACR_USER}",
        "password": "${ACR_PASSWORD}",
        "address": "${ACR_ADDRESS}"
      }
    }
    

    Konfigurieren der Variablen für Ihre Releasepipeline auf der Registerkarte „Variablen“

  10. Wählen Sie die zweite Azure IoT Edge-Aufgabe aus, und konfigurieren Sie sie mit den folgenden Werten:

    Parameter Beschreibung
    Anzeigename Der Anzeigename wird bei einer Änderung des Felds „Aktion“ automatisch aktualisiert.
    Aktion Wählen Sie Deploy to IoT Edge devices aus.
    Bereitstellungsdatei Geben Sie den Pfad $(System.DefaultWorkingDirectory)/Drop/drop/configs/deployment.json an. Dieser Pfad ist die Datei mit dem IoT Edge-Bereitstellungsmanifest.
    Azure-Abonnement Wählen Sie das Abonnement aus, das Ihre IoT Hub-Instanz enthält.
    IoT Hub-Name Wählen Sie Ihren IoT Hub aus.
    Einzelgerät/mehrere Geräte auswählen Wählen Sie aus, ob die Releasepipeline auf einem oder mehreren Geräten bereitgestellt werden soll. Geben Sie bei Bereitstellung auf einem einzelnen Gerät die IoT Edge-Geräte-ID ein. Geben Sie bei einer Bereitstellung auf mehreren Geräten die Zielbedingung des Geräts an. Die Zielbedingung ist ein Filter für den Abgleich mit einem Satz von IoT Edge-Geräten in IoT Hub. Wenn Sie Gerätetags als Bedingung verwenden möchten, müssen Sie Ihre entsprechenden Tags mit einem IoT Hub-Gerätezwilling aktualisieren. Aktualisieren Sie die IoT Edge-Bereitstellungs-ID und IoT Edge-Bereitstellungspriorität in den erweiterten Einstellungen. Weitere Informationen zum Erstellen einer Bereitstellung für mehrere Geräte finden Sie unter Grundlegendes zu automatischen IoT Edge-Bereitstellungen für einzelne Geräte oder nach Bedarf.
    Geräte-ID oder Zielbedingung Geben Sie je nach der vorherigen Auswahl eine Geräte-ID oder Zielbedingung an, die auf mehreren Geräten bereitgestellt werden soll.
    Erweitert Geben Sie für die IoT Edge-Bereitstellungs-ID $(System.TeamProject)-$(Release.EnvironmentName) an. Diese Variable ordnet den Projekt- und Releasenamen Ihrer IoT Edge-Bereitstellungs-ID zu.

    Wenn Ihre Aufgabe die Verwendung eines Images enthält, das sich in einer privaten vertrauenswürdigen Docker-Registrierung befindet, die für die öffentliche Cloud nicht sichtbar ist, können Sie die Umgebungsvariable SKIP_MODULE_IMAGE_VALIDATION auf true festlegen, um die Imagevalidierung zu überspringen.

    Hinzufügen von Azure IoT Edge-Aufgaben für Ihre Stage „dev“

  11. Wählen Sie Speichern zum Speichern der Änderungen auf der neuen Releasepipeline aus. Kehren Sie zur Pipelineansicht zurück, indem Sie im Menü die Registerkarte Pipeline auswählen.

Hinweis

Mehrstufige Bereitstellungen werden in Azure IoT Edge-Aufgaben in Azure DevOps noch nicht unterstützt.

Sie können jedoch mithilfe einer Azure CLI-Aufgabe in Azure DevOps Ihre Bereitstellung als eine mehrstufige Bereitstellung erstellen. Für den Wert Inlineskript können Sie den Befehl „az iot edge deployment create“ verwenden:

az iot edge deployment create -d {deployment_name} -n {hub_name} --content modules_content.json --layered true

Überprüfen von CI/CD in IoT Edge mit den Build- und Releasepipelines

Um einen Buildauftrag auszulösen, können Sie einen Commit in das Quellcoderepository pushen oder manuell auslösen. In diesem Abschnitt lösen Sie manuell die CI/CD-Pipeline aus, um die Funktionsweise zu testen. Anschließend überprüfen Sie, ob die Bereitstellung erfolgreich ausgeführt wird.

  1. Wählen Sie im Menü auf der linken Seite Pipelines aus, und öffnen Sie die Buildpipeline, die Sie am Anfang dieses Artikels erstellt haben.

  2. Sie können einen Buildauftrag in ihrer Buildpipeline auslösen, indem Sie oben rechts die Schaltfläche Pipeline ausführen auswählen.

    Manuelles Auslösen Ihrer Buildpipeline über die Schaltfläche „Pipeline ausführen“

  3. Überprüfen Sie die Einstellungen für Pipeline ausführen. Wählen Sie dann Ausführen aus.

    Optionen für „Pipeline ausführen“ angeben und „Ausführen“ auswählen

  4. Wählen Sie Agentauftrag 1 aus, um den Fortschritt der Ausführung zu überwachen. Durch Auswählen des Auftrags können Sie die Protokolle der Auftragsausgabe überprüfen.

    Protokollausgabe des Auftrags überprüfen

  5. Wenn die Buildpipeline erfolgreich abgeschlossen ist, löst sie eine Releasepipeline zur dev-Stage aus. Das erfolgreiche dev-Release erstellt eine IoT Edge-Bereitstellung für IoT Edge-Geräte.

    Release für dev

  6. Klicken Sie auf die Stage dev, um die Releaseprotokolle anzuzeigen.

    Releaseprotokolle

  7. Wenn bei Ihrer Pipeline ein Fehler aufgetreten ist, sehen Sie sich zuerst die Protokolle an. Sie können Protokolle anzeigen, indem Sie zur Zusammenfassung der Pipelineausführung navigieren und dann den Auftrag und die Aufgabe auswählen. Wenn eine bestimmte Aufgabe fehlschlägt, überprüfen Sie die Protokolle dafür. Ausführliche Anleitungen zum Konfigurieren und Verwenden von Protokollen finden Sie unter Überprüfen von Protokollen zum Diagnostizieren von Pipelineproblemen.

Nächste Schritte