App mithilfe von Code Engine entwickeln und bereitstellen
In diesem Lernprogramm erfahren Sie, wie eine offene Toolchain mithilfe von IBM Cloud® Continuous Delivery erstellt und in Code Engine bereitgestellt wird. Außerdem erfahren Sie, wie Toolchains im Continuous Delivery-Service implementiert werden und wie eine einfache Webanwendung (App) mithilfe von Toolchains entwickelt und bereitgestellt wird.
IBM Cloud® Code Engine ist eine vollständig verwaltete, serverunabhängige Plattform, die Ihre containerisierten Workloads ausführt, einschließlich Web-Apps, Mikroservices, ereignisgesteuerten Funktionen oder Batch-Jobs. Code Engine erstellt sogar Container-Images für Sie aus Ihrem Quellcode. Da diese Workloads alle innerhalb derselben Kubernetes-Infrastruktur gehostet werden, können alle diese Workloads nahtlos zusammenwirken. Code Engine ist so konzipiert, dass Sie sich auf das Schreiben des Code konzentrieren können und nicht die Infrastruktur zum Hosten des Codes beachten brauchen.
Die Toolchain, die in diesem Lernprogramm verwendet wird, implementiert DevOps-Standardverfahren wie Code-Scanning, Abnahmetests, Git -Repositorys sowie Funktionen für kontinuierliche Integration und Continuous Delivery. Nachdem Sie Cluster erstellt und einer Continuous Delivery-Clustergruppe zugeordnet haben, erstellen Sie eine Toolchain, um den Code Ihrer App zu ändern und die Änderung mit Push-Operation an das Git Repos and Issue Tracking-Repository zu übertragen. Wenn Sie Änderungen mit Push-Operation auf Ihr Repository übertragen, erstellt und implementiert die Tekton-basierte Delivery Pipeline automatisch den Code.
Tekton ist ein quelloffenes, anbieterneutrales, Kubernetes-natives Framework, mit dem Sie Apps erstellen, testen und implementieren können. Tekton bietet eine Reihe gemeinsamer Komponenten für den Aufbau von Systemen für kontinuierliche Integration und kontinuierliche Bereitstellung. Als Open-Source-Projekt wird Tekton von der Continuous Delivery Foundation verwaltet. Das Ziel ist die Modernisierung von Continuous Delivery durch Bereitstellung von Branchenspezifikationen für Pipelines, Workflows und andere Bausteine. Mit Tekton können Sie bei Cloud-Providern oder lokal Systeme erstellen, testen und implementieren, indem Sie die zugrunde liegenden Implementierungsdetails abstrahieren. Tekton-Pipelines sind in Continuous Deliveryintegriert.
Vorbereitende Schritte
Stellen Sie vor Beginn dieses Lernprogramms sicher, dass die folgenden Ressourcen vorhanden sind:
-
Ein IBM Cloud-Konto. Abhängig von Ihrem IBM Cloud-Kontotyp kann der Zugriff auf bestimmte Ressourcen eingeschränkt sein. Abhängig von den Grenzwerten für Ihren Kontoplan sind bestimmte Funktionen, die für einige der Implementierungsstrategien erforderlich sind, möglicherweise nicht verfügbar. Weitere Informationen über IBM Cloud Konten finden Sie unter Einrichten Ihres IBM Cloud Kontos und Upgraden Ihres Kontos.
-
Ein Code Engine-Projekt und ein API-Schlüssel. Sie können diese Ressourcen entweder über die Benutzeroberfläche oder über die Befehlszeilenschnittstelle erstellen. Weitere Informationen zu Code Engine-Projekten finden Sie unter Code Engine-Projekte.
-
Eine Instanz des Continuous Delivery-Service.
-
Optional. Geheime Schlüssel, die in einem Vault für die Verwaltung geheimer Schlüssel gespeichert und zentral von einem einzigen Standort aus verwaltet werden. Weitere Informationen zur Auswahl aus den verschiedenen Angeboten für Verwaltung geheimer Schlüssel und Datenschutz finden Sie unter Geheime IBM Cloud -Schlüssel verwalten. Wenn Sie noch nicht über eine Instanz des gewünschten Vault-Providers für die Verwaltung geheimer Schlüssel verfügen, erstellen Sie eine solche Instanz.
-
Optional. Ein Namensbereich, der über die Befehlszeile der Container-Registry erstellt wird. Geben Sie zum Erstellen eines Namensbereichs den folgenden Befehl in der Befehlszeile ein:
ibmcloud cr namespace-add <my namespace>
Alternativ können Sie einen Namensbereich auf der Seite Container Registry erstellen. Weitere Informationen zum Erstellen eines Namensbereichs an diesem Standort finden Sie unter IBM Cloud Container Registry-Service.
Toolchain erstellen
In diesem Schritt erstellen Sie eine Toolchain Code Engine-App entwickeln. Das Code Engine-Zielprojekt wird während der Toolchain-Einrichtung mithilfe Ihres IBM Cloud-API-Schlüssels und Ihres Code Engine-Projektnamens konfiguriert. Sie können diese Einstellungen später ändern, indem Sie die Delivery Pipeline-Konfiguration aktualisieren. Jeder Code, der im Zielzweig des Git-Repositorys zusammengeführt wird, wird automatisch erstellt, validiert und im Code Engine-Projekt implementiert.
Klicken Sie zum Erstellen einer Toolchain Code Engine-App entwickeln auf
Alternativ können Sie in der Konsole IBM Cloud auf das im Menü > Plattformautomatisierung > Toolchains klicken. Klicken Sie
auf der Seite Toolchains auf Toolchain erstellen. Klicken Sie auf der Seite Erstellen einer Toolchain auf Entwickeln einer Code Engine App.
Den Toolchain-Namen und die Region konfigurieren
-
Überprüfen Sie in der Eingangsanzeige die Standardinformationen für die Toolchain-Einstellungen. Der Name der Toolchain macht sie in IBM Cloud identifizierbar. Stellen Sie sicher, dass der Name der Toolchain innerhalb Ihrer Toolchains für dieselbe Region und Ressourcengruppe in IBM Cloud eindeutig ist.
Die Region der Toolchain kann sich von der Region des Clusters und der Registry unterscheiden.
Code Engine secure app toolchain name and region -
Klicken Sie auf Starten.
Repository für den Anwendungsquellcode konfigurieren
-
Im Anwendungsschritt werden die empfohlenen Optionen für das Quellcode-Repository der Anwendung standardmäßig angezeigt. Um alle verfügbaren Optionen für die zugrunde liegende Git-Integration anzuzeigen, klicken Sie auf Erweiterte Optionen. Standardmäßig verwendet die Toolchain das Standardbeispiel, das die Beispiel-App als von IBM gehostetes Git Repos and Issue Tracking-Repository klont.
Code Engine secure app repo Sie können den Namen des App-Repositorys ändern. Die Region des Repositorys bleibt die gleiche wie die Region der Toolchain.
-
Optional. Die Toolchain-Vorlage stellt eine Beispielanwendung-App Hello World bereit. Wenn Sie ein vorhandenes Anwendungsrepository für die Toolchain verlinken wollen, wählen Sie Eigene App verwenden aus und geben Sie die URL für das Repository an. Die Toolchain unterstützt nur Links zu vorhandenen Git Repos and Issue Tracking-Repositorys.
-
Klicken Sie auf Weiter.
Standardmäßig wird die Vorlage des Anwendungsrepositorys in Ihrer Git Repos and Issue Tracking-Organisation geklont. Zum Ändern der Organisation aktivieren Sie Erweiterte Optionen und geben den Eigner des Repositorys an.
Geheime Schlüssel sicher speichern
Für mehrere Tools innerhalb dieser Toolchain sind geheime Schlüssel erforderlich, z. B. ein IBM Cloud-API-Schlüssel. Sie müssen alle geheimen Schlüssel sicher in einem Vault für geheime Schlüssel speichern und sie entsprechend den Anforderungen der Toolchain referenzieren.
-
Mit IBM Cloud können Sie aus verschiedenen Angeboten für das Management geheimer Schlüssel und den Datenschutz auswählen, mit denen Sie Ihre sensiblen Daten schützen und Ihren geheimen Schlüssel zentralisieren können. Im Schritt "Geheime Schlüssel" können Sie angeben, welche Vaultintegrationen für geheime Schlüssel in Ihrer Toolchain hinzugefügt oder entfernt werden sollen. Weitere Informationen zum Hinzufügen und Entfernen von Vaultintegrationen, einschließlich der Voraussetzungen und mithilfe von Hinweisen, finden Sie unter Geheime IBM Cloud-Schlüssel verwalten.
Durch Verwendung von Hinweisen in einer Vorlage wird eine Toolchain automatisch mit vorkonfigurierten geheimen Schlüsseln gefüllt. Sie brauchen keine geheimen Schlüssel manuell aus Vaultintegrationen auszuwählen, die der Toolchain zugeordnet sind.
In diesem Lernprogramm wird IBM Secrets Manager als Vault für geheime Schlüssel verwendet.
Code Engine secure app secrets options IBM Secrets Manager speichert sicher und wendet geheime Schlüssel wie API-Schlüssel, Imagesignatur, oder HashiCorp-Berechtigungsnachweise, die Teil Ihrer Toolchain sind, an.
Code Engine Secrets Manager options -
Klicken Sie auf Weiter.
Weitere Informationen zur Verwaltung Ihrer Geheimnisse in IBM Key Protect oder HashiCorp, finden Sie unter Geheimnisse.
Implementierungsziel konfigurieren
Konfigurieren Sie das Code Engine-Zielprojekt, in dem die App bereitgestellt werden soll. Nachdem die App die Build-, Test- und Scanphase bestanden hat, stellt die Pipeline das erstellte App-Image im Code Engine-Zielprojekt bereit. Diese Implementierung ist jetzt für Abnahmetests oder Integrationstests bereit.
-
Wenn der API-Schlüssel den erforderlichen Zugriff hat, werden die folgenden Felder automatisch mithilfe des API-Schlüssels geladen, der entweder erstellt, aus einer Vault abgerufen, oder manuell angegeben wird. Wenn der API-Schlüssel gültig ist, werden Werte für die Container Registry-Region und die Namensbereich-Clusterregion, den Namen, den Namensbereich und die Ressourcengruppe automatisch eingetragen. Sie können jedes dieser Felder entsprechend Ihrer Konfiguration aktualisieren.
-
App-Name: Der Name der App. Der Standard-App-Name entspricht dem Namen Ihrer Toolchain.
-
IBM Cloud-API-Schlüssel: Der API-Schlüssel, der für die Interaktion mit dem
ibmcloud
-CLI-Tool in mehreren Tasks verwendet wird. Verwenden Sie eine der folgenden Methoden, um den API-Schlüssel anzugeben, den Sie verwenden möchten:- Klicken Sie auf das Schlüsselsymbol, um einen vorhandenen API-Schlüssel aus einer geheimen Vault Ihrer Wahl zu importieren.
- Kopieren Sie einen vorhandenen API-Schlüssel und fügen Sie ihn ein.
- Klicken Sie auf Neu, um einen API-Schlüssel zu erstellen.
- Generieren Sie eine neue
api-key
, wenn kein API-Schlüssel vorhanden ist.
Sie können den generierten API-Schlüssel sofort in einer vorhandenen Vault für geheime Schlüssel Ihrer Wahl speichern.
-
Container-Registry-Region: Die Container Registry-Region, in der sich Ihr Container-Namensbereich befindet.
-
Namensbereich der Container-Registry: Wählen Sie in der Liste der Container-Namensbereiche in der zugeordneten Container Registry-Region aus.
-
Code Engine-Region: Die Region, in der sich Ihr Code Engine-Projekt befindet.
-
Code Engine-Ressourcengruppe: Die Ressourcengruppe, in der Ihr Code Engine-Projekt erstellt wurde.
-
Code Engine-Projekt: Der Name des Projekts, das in Code Engine erstellt wurde. Ihre App wird in diesem Projekt bereitgestellt.
Code Engine secure app rolling deployment target details -
-
Klicken Sie auf Weiter.
Optionale Toolintegrationen hinzufügen
Sie können die IBM Cloud® DevOps Insights-Toolintegration ohne zusätzliche Konfiguration zu Ihrer Toolchain hinzufügen.
DevOps Insights ist in der erstellten Toolchain enthalten. Sie brauchen keine Konfigurationsschritte für DevOps Insights anzugeben. Die Pipeline für kontinuierliche Integration verwendet automatisch die DevOps Insights-Instanz, die in der Toolchain enthalten ist. DevOps Insights aggregiert Code-, Test-, Build- und Bereitstellungsdaten, um Einblick in die Geschwindigkeit und Qualität aller Ihrer Teams und Releases zu liefern.
Klicken Sie auf Weiter.
Das Toolchain-Setup abschließen
Klicken Sie auf der Seite 'Zusammenfassung' auf Toolchain erstellen. Zum Einrichten Ihrer Toolchain werden mehrere verschiedene Schritte automatisch ausgeführt.
Sie können die einzelnen Toolchain-Integrationen konfigurieren, nachdem die Pipeline erstellt wurde.

Neue Toolchain erkunden
Nach der Erstellung der Toolchain werden alle Toolintegrationen, die Teil der Toolchain sind, in einem Diagramm dargestellt.
Pipelines erkunden
Sie können die Pipelines erkunden, um sich einen Einblick in den Toolchainablauf und die verschiedenen, innerhalb der jeweiligen Pipelines ausgeführten Operationen zu verschaffen. Die von Ihnen erstellte Toolchain enthält die folgenden Pipelines:
- Pipeline für Pull-Anforderungen: Wird ausgeführt, wenn ein Entwickler Änderungen aus seinem Entwicklungszweig mit dem Masterzweig oder einem anderen Zweig im Repository zusammenführt. Über die Pipeline für Pull-Anforderungen werden die Komponententests und statischen Scans für den Anwendungsquellcode ausgeführt.
- Pipeline für kontinuierliche Integration: Wird ausgeführt, wenn Sie eine Änderung mit der Masterverzweigung des Anwendungsquellcodes zusammenführen. Die Pipeline für kontinuierliche Integration führt den Komponententest, die Codeabdeckung und statische Scans für den Anwendungsquellcode, die CIS-Prüfung und die Stücklistenprüfung aus. Die Continuous Delivery-Pipeline generiert auch die binären Build-Artefakte und lädt sie in die IBM Cloud® Kubernetes Service, wie in der Toolchain konfiguriert, hoch. Die Pipeline für kontinuierliche Integration generiert die Metadaten der Build-Artefakte und speichert sie im Bestandsrepository.
- Pipeline für kontinuierliche Bereitstellung: Stellt ein Image der Komponente Code Engine (das die Pipeline für kontinuierliche Integration erstellt und bereitstellt) in einer anderen Code Engine-Komponente bereit, die in einem anderen Projekt gehostet werden soll.
Ausführen der Pull-Anforderung und der Pipelines für die kontinuierliche Integration
Erstellen Sie zum Starten der Pipeline für Pull-Anforderungen eine Zusammenführungsanforderung in Ihrem App-Repository:
- Klicken Sie auf der Übersichtsseite der Toolchain auf der Karte Repositorys auf das
secure-app-toolchain-code-engine-demo
-App-Repository. - Erstellen Sie im Master-Repository einen Zweig.
- Aktualisieren Sie Code in der Beispielknoten-App oder der Readme-Datei und speichern Sie diese Änderungen.
- Übergeben Sie die Zusammenführungsanforderung.
- Klicken Sie auf der Übersichtsseite der Toolchain auf der Karte Delivery Pipelines auf die
pr-pipeline
-Pipeline, um das Pipeline-Dashboard für Pull-Anforderungen zu öffnen. Die entsprechende Zusammenführungsanforderung in Ihrem App-Repository verbleibt im Wartestatus, bis alle Phasen der Pipeline für Pull-Anforderungen erfolgreich abgeschlossen wurden. - Nachdem die Pipeline für Pull-Anforderungen erfolgreich ausgeführt wurde, können Sie sie auswählen, um die abgeschlossenen Schritte zu untersuchen.

Um die Pipeline für kontinuierliche Integration zu starten, führen Sie die Zusammenführungsanforderung für kontinuierliche Integration in Ihrem App-Repository zusammen:
-
Wechseln Sie zur Zusammenführungsanforderung.
-
Führen Sie die Anforderung zusammen, sodass Ihre Änderungen in den Masterzweig Ihres App-Repositorys kopiert werden. Die Pipeline für kontinuierliche Integration wird automatisch ausgelöst.
-
Klicken Sie auf der Übersichtsseite der Toolchain für die kontinuierliche Integration auf der Karte Delivery Pipelines auf die
ci-pipeline
-Pipeline, um das Dashboard der Pipeline für die kontinuierliche Integration zu öffnen. -
Nach erfolgreicher Ausführung der Pipeline für die kontinuierliche Integration können Sie auf die Pipelineausführung klicken, um die abgeschlossenen Schritte zu untersuchen.
der Pipeline für kontinuierliche Integration*Erfolg der Pipeline für kontinuierliche -
Erweitern Sie die Task
deploy-component
und klicken Sie auf den Schrittexecute
. Wählen Sie die RegisterkarteLogs
aus und blättern Sie zum Ende des Protokolls. Klicken Sie auf den Link zu Ihrer bereitgestellten Code Engine-App, um die aktive App anzuzeigen.
Nächste Schritte
Führen Sie die folgenden Schritte aus, wenn Sie die Komponente Code Engine (die von der Pipeline für kontinuierliche Integration erstellt und bereitgestellt wird) als weitere Komponente implementieren möchten, die in einem anderen Code-Engine-Projekt gehostet werden soll:
-
Klicken Sie auf der Seite Continuous Integration Toolchain Overview auf der Karte Delivery Pipelines auf die Pipeline cd-pipeline, um das Dashboard der Pipeline für die kontinuierliche Bereitstellung zu öffnen.
-
Klicken Sie auf Pipeline ausführen, um den Auslöser
cd-manual-run
zu starten. -
Nachdem der Pipeline-Lauf zur kontinuierlichen Bereitstellung erfolgreich war, können Sie auf den Pipeline-Lauf klicken, um die abgeschlossenen Schritte zu überprüfen.
der Pipeline für die kontinuierliche -
Erweitern Sie die Aufgabe deploy-component und klicken Sie auf den Schritt execute. Klicken Sie auf die Registerkarte " Protokolle" und blättern Sie bis zum Ende des Protokolls. Klicken Sie auf den Link zu Ihrer bereitgestellten Code Engine-App, um die aktive App anzuzeigen.
Führen Sie die folgenden Schritte aus, wenn Sie die Beispielapp entfernen möchten, die unter Code Engine ausgeführt wird:
-
Rufen Sie die Seite Code Engine Projekte auf.
-
Klicken Sie auf das Projekt, in dem Ihre Beispielapp ausgeführt wird.
-
Wählen Sie Anwendungen und anschließend das Kontrollkästchen für Ihre Beispielapp aus.
-
Klicken Sie auf Löschen.
Sie brauchen Hilfe?
IBM Cloud der KI-Assistent von IBM, der von watsonx unterstützt wird, soll Ihnen dabei helfen, sich mit der Arbeit in IBM Cloud vertraut zu machen und mithilfe des Katalogs verfügbarer Produkte und Dienstleistungen Lösungen zu entwickeln. Siehe "Hilfe vom KI-Assistenten erhalten ".
Weitere Unterstützungsoptionen finden Sie unter Hilfe und Unterstützung für Continuous Delivery.