Erstellen einer CI/CD-Pipeline für IoT Edge mit Azure DevOps ProjectsCreate a CI/CD pipeline for IoT Edge with Azure DevOps Projects

Konfigurieren Sie mit DevOps Projects Continuous Integration (CI) und Continuous Delivery (CD) für Ihre IoT Edge-Anwendung.Configure continuous integration (CI) and continuous delivery (CD) for your IoT Edge application with DevOps Projects. DevOps Projects erleichtert die Erstkonfiguration einer Build- und Releasepipeline in Azure Pipelines.DevOps Projects simplifies the initial configuration of a build and release pipeline in Azure Pipelines.

Wenn Sie über kein aktives Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.If you don't have an active Azure subscription, create a free account before you begin.

Melden Sie sich auf dem Azure-Portal an.Sign in to the Azure portal

Mit DevOps Projects wird eine CI/CD-Pipeline in Azure DevOps erstellt.DevOps Projects creates a CI/CD pipeline in Azure DevOps. Sie können eine neue Azure DevOps-Organisation erstellen oder eine bestehende Organisation verwenden.You can create a new Azure DevOps organization or use an existing organization. Ferner werden mit DevOps Projects Azure-Ressourcen im Azure-Abonnement Ihrer Wahl erstellt.DevOps Projects also creates Azure resources in the Azure subscription of your choice.

  1. Melden Sie sich beim Microsoft Azure-Portalan.Sign in to the Microsoft Azure portal.

  2. Wählen Sie im linken Bereich die Option Ressource erstellen aus, und suchen Sie nach DevOps Projects.In the left pane, select Create a resource, and then search for DevOps Projects.

  3. Klicken Sie auf Erstellen.Select Create.

Erstellen einer neuen AnwendungspipelineCreate a new application pipeline

  1. Ihre Azure IoT Edge-Module können in C#, Node.js, Python, C und Java geschrieben werden.Your Azure IoT Edge module(s) can be written in C#, Node.js, Python, C and Java. Wählen Sie Ihre bevorzugte Sprache aus, um eine neue Anwendung zu starten: .NET, Node.js, Python, C oder Java.Select your preferred language to start a new application: .NET, Node.js, Python, C, or Java. Klicken Sie auf Weiter, um fortzufahren.Select Next to continue.

    Sprache auswählen, um eine neue Anwendung zu erstellen

  2. Wählen Sie Einfaches IoT als Anwendungsframework und dann Weiter aus.Select Simple IoT as your application framework, and then select Next.

    Einfaches IoT-Framework auswählen

  3. Wählen Sie IoT Edge als Azure-Dienst aus, der die Anwendung bereitstellt, und wählen Sie dann Weiter aus.Select IoT Edge as the Azure service that deploys your application, and then select Next.

    Dienst „IoT Edge“ auswählen

  4. Sie können eine neue kostenlose Azure DevOps-Organisation erstellen oder eine bestehende Organisation auswählen.Create a new free Azure DevOps organization or choose an existing organization.

    1. Geben Sie einen Namen für Ihr Projekt an.Provide a name for your project.

    2. Wählen Sie Ihre Azure DevOps-Organisation aus.Select your Azure DevOps organization. Wenn keine Organisation vorhanden ist, wählen Sie Zusätzliche Einstellungen aus, um eine neue zu erstellen.If you don't have an existing organization, select Additional settings to create a new one.

    3. Wählen Sie Ihr Azure-Abonnement.Select your Azure subscription.

    4. Verwenden Sie den Namen der durch Ihren Projektnamen generierten IoT Hub-Instanz, oder geben Sie einen eigenen an.Use the IoT Hub name generated by your project name, or provide your own.

    5. Akzeptieren Sie den Standardspeicherort, oder wählen Sie einen in Ihrer Nähe aus.Accept the default location, or choose one close to you.

    6. Wählen Sie Zusätzliche Einstellungen aus, um die Azure-Ressourcen zu konfigurieren, die DevOps Projects in Ihrem Namen erstellt.Select Additional settings to configure the Azure resources that DevOps Projects creates on your behalf.

    7. Wählen Sie Fertig aus, um das Erstellen Ihres Projekts abzuschließen.Select Done to finish creating your project.

    Anwendung benennen und erstellen

Nach wenigen Minuten wird das DevOps Projects-Dashboard im Azure-Portal angezeigt.After a few minutes, the DevOps Projects dashboard is displayed in the Azure portal. Wählen Sie Ihren Projektnamen aus, um den Status anzuzeigen.Select your project name to see the progress. Möglicherweise müssen Sie die Seite aktualisieren.You may need to refresh the page. Eine Beispiel-IoT Edge-Anwendung wird in einem Repository in Ihrer Azure DevOps-Organisation eingerichtet, ein Build wird ausgeführt, und Ihre Anwendung wird auf dem IoT Edge-Gerät bereitgestellt.A sample IoT Edge application is set up in a repository in your Azure DevOps organization, a build is executed, and your application is deployed to the IoT Edge device. Dieses Dashboard bietet Einblick in Ihr Coderepository, in Ihre CI/CD-Pipeline und in Ihre Anwendung in Azure.This dashboard provides visibility into your code repository, the CI/CD pipeline, and your application in Azure.

Anwendung im Azure-Portal anzeigen

Ausführen eines Commits für Codeänderungen und Ausführen von CI/CDCommit code changes and execute CI/CD

Von DevOps Projects wurde ein Git-Repository für Ihr Projekt in Azure Repos erstellt.DevOps Projects created a Git repository for your project in Azure Repos. In diesem Abschnitt zeigen Sie das Repository an und nehmen Codeänderungen an Ihrer Anwendung vor.In this section, you view the repository and make code changes to your application.

  1. Navigieren Sie zu dem für Ihr Projekt erstellten Repository, und wählen Sie Repositorys im Menü Ihres Projektdashboards aus.To navigate to the repo created for your project, select Repositories in the menu of your project dashboard.

    Ansicht des in Azure Repos generierten Repositorys

  2. Die folgenden Schritte führen Sie durch die Verwendung des Webbrowsers zum Ändern von Code.The following steps walk through using the web browser to make code changes. Wenn Sie stattdessen Ihr Repository lokal klonen möchten, wählen Sie Klonen oben rechts im Fenster aus.If you want to clone your repository locally instead, select Clone from the top right of the window. Verwenden Sie die angegebene URL zum Klonen Ihres Git-Repositorys in Visual Studio Code oder Ihrem bevorzugten Entwicklungstool.Use the provided URL to clone your Git repository in Visual Studio Code or your preferred development tool.

  3. Das Repository enthält bereits Code für das Modul FilterModule, das auf der Anwendungssprache basiert, die Sie bei der Erstellung ausgewählt haben.The repository already contains code for a module called FilterModule based on the application language that you chose in the creation process. Öffnen Sie die Datei modules/FilterModule/module.json.Open the modules/FilterModule/module.json file.

    Öffnen der module.json-Datei in Azure Repos

  4. Beachten Sie, dass diese Datei im Parameter version Azure DevOps-Buildvariablen verwendet.Notice that this file uses Azure DevOps build variables in the version parameter. Diese Konfiguration stellt sicher, dass bei jeder Ausführung eines neuen Builds eine neue Version des Moduls erstellt wird.This configuration ensures that a new version of the module will be created every time a new build runs.

Überprüfen der CI/CD-PipelineExamine the CI/CD pipeline

In den vorherigen Abschnitten wurde von Azure DevOps Projects automatisch eine vollständige CI/CD-Pipeline für Ihre IoT Edge-Anwendung konfiguriert.In the previous sections, Azure DevOps Projects automatically configured a full CI/CD pipeline for your IoT Edge application. Untersuchen Sie nun die Pipeline, und passen Sie sie bei Bedarf an.Now, explore and customize the pipeline as needed. Führen Sie die folgenden Schritte aus, um sich mit den Build- und Releasepipelines von Azure DevOps vertraut zu machen.Use the following steps to familiarize yourself with the Azure DevOps build and release pipelines.

  1. Wählen Sie zum Anzeigen der Buildpipelines in Ihrem DevOps-Projekt Buildpipelines im Menü Ihres Projektdashboards aus.To view the build pipelines in your DevOps project, select Build Pipelines in the menu of your project dashboard. Über diesen Link werden eine Browserregisterkarte und die Azure DevOps-Buildpipeline für Ihr neues Projekt geöffnet.This link opens a browser tab and the Azure DevOps build pipeline for your new project.

    Anzeigen von Buildpipelines in Azure Pipelines

  2. Wählen Sie Bearbeiten aus.Select Edit.

    Bearbeiten der Buildpipeline

  3. In dem Bereich, der geöffnet wird, können Sie die Aufgaben überprüfen, die auftreten, wenn Ihre Buildpipeline ausgeführt wird.In the panel that opens, you can examine the tasks that occur when your build pipeline runs. Die Buildpipeline führt verschiedene Aufgaben durch. Beispielsweise werden Quellen aus dem Git-Repository abgerufen, IoT Edge-Modulimages erstellt und IoT Edge-Module zu einer Containerregistrierung gepusht sowie für Bereitstellungen verwendete Ausgaben veröffentlicht.The build pipeline performs various tasks, such as fetching sources from the Git repository, building IoT Edge module images, pushing IoT Edge modules to a container registry, and publishing outputs that are used for deployments. Weitere Informationen zu Azure IoT Edge-Aufgaben in Azure DevOps finden Sie unter Konfigurieren von Azure Pipelines für Continuous Integration.To learn more about Azure IoT Edge tasks in Azure DevOps, see Configure Azure Pipelines for continuous integration.

  4. Wählen Sie die Pipeline-Kopfzeile oben in der Buildpipeline aus, um die Pipelinedetails aufzurufen.Select the Pipeline header at the top of the build pipeline to open the pipeline details. Ersetzen Sie den Namen Ihrer Buildpipeline durch einen aussagekräftigeren Namen.Change the name of your build pipeline to something more descriptive.

    Bearbeiten der Pipelinedetails

  5. Wählen Sie Speichern und in Warteschlange einreihen und dann Speichern aus.Select Save & queue, and then select Save.

  6. Wählen Sie im Menü für die Buildpipeline Trigger aus.Select Triggers from the build pipeline menu. Mit DevOps Projects wurde automatisch ein CI-Trigger erstellt, und mit jedem für das Repository ausgeführten Commit wird ein neuer Build gestartet.DevOps Projects automatically created a CI trigger, and every commit to the repository starts a new build. Optional können Sie Branches aus dem CI-Prozess einbeziehen oder ausschließen.You can optionally choose to include or exclude branches from the CI process.

  7. Wählen Sie Aufbewahrung aus.Select Retention. Abhängig vom Szenario können Sie Richtlinien zum Aufbewahren oder Entfernen einer bestimmten Anzahl von Builds festlegen.Depending on your scenario, you can specify policies to keep or remove a certain number of builds.

  8. Wählen Sie Verlauf aus.Select History. Der Verlaufsbereich enthält ein Überwachungsprotokoll mit den letzten Änderungen des Builds.The history panel contains an audit trail of recent changes to the build. An der Buildpipeline vorgenommene Änderungen werden von Azure Pipelines nachverfolgt, sodass Sie verschiedene Versionen vergleichen können.Azure Pipelines keeps track of any changes that are made to the build pipeline, and it allows you to compare versions.

  9. Wenn Sie die Buildpipeline untersucht haben, navigieren Sie zu der entsprechenden Releasepipeline.When you're done exploring the build pipeline, navigate to the corresponding release pipeline. Wählen Sie Releases unter Pipelines und dann Bearbeiten aus, um die Pipelinedetails anzuzeigen.Select Releases under Pipelines, then select Edit to view the pipeline details.

    Releasepipeline anzeigen

  10. Wählen Sie unter Artefakte die Option Ablegen aus.Under Artifacts, select Drop. Die Quelle, die dieses Artefakt überwacht, ist die Ausgabe der Buildpipeline, die Sie in den vorherigen Schritten untersucht haben.The source that this artifact watches is the output of the build pipeline you examined in the previous steps.

  11. Wählen Sie neben dem Symbol Ablegen das Symbol Continuous Deployment-Trigger aus, das wie ein Blitz aussieht.Next to the Drop icon, select the Continuous deployment trigger that looks like a lightning bolt. Diese Releasepipeline hat den Trigger aktiviert, der jedes Mal eine Bereitstellung ausführt, wenn ein neues Buildartefakt verfügbar ist.This release pipeline has enabled the trigger, which runs a deployment every time there is a new build artifact available. Optional können Sie den Trigger deaktivieren, sodass Ihre Bereitstellungen manuell ausgeführt werden müssen.Optionally, you can disable the trigger so that your deployments require manual execution.

  12. Wählen Sie im Menü für Ihre Releasepipeline Aufgaben aus, und wählen Sie dann die Stufe dev in der Dropdownliste aus.In the menu for your release pipeline, select Tasks then choose the dev stage from the dropdown list. DevOps Projects erstellte eine Releasestufe für Sie, die eine IoT Hub-Instanz und ein IoT Edge-Gerät in dieser IoT Hub-Instanz erstellt, das Beispielmodul aus der Buildpipeline bereitstellt sowie einen virtuellen Computer, der als Ihr IoT Edge-Gerät ausgeführt wird.DevOps Projects created a release stage for you that creates an IoT hub, creates an IoT Edge device in that hub, deploys the sample module from the build pipeline, and provisions a virtual machine to run as your IoT Edge device. Weitere Informationen zu Azure IoT Edge-Aufgaben für CD finden Sie unter Konfigurieren von Continuous Deployment.To learn more about Azure IoT Edge tasks for CD, see Configure Azure Pipelines for continuous deployment.

    Continuous Deployment-Tasks anzeigen

  13. Wählen Sie auf der rechten Seite Releases anzeigen aus.On the right, select View releases. In dieser Ansicht wird der Verlauf von Releases angezeigt.This view shows a history of releases.

  14. Wählen Sie den Namen eines Releases, um weitere Informationen dazu anzuzeigen.Select the name of a release to view more information about it.

Bereinigen von RessourcenClean up resources

Sie können die erstellte Azure App Service-Instanz und zugehörige Ressourcen löschen, wenn Sie sie nicht mehr benötigen.You can delete Azure App Service and other related resources that you created when you don't need them anymore. Verwenden Sie dazu die Funktion Löschen auf dem DevOps Projects-Dashboard.Use the Delete functionality on the DevOps Projects dashboard.

Nächste SchritteNext steps