Code Engine-Workloads mit Continuous Delivery integrieren

Sie können den Build und die Bereitstellung Ihrer IBM Cloud® Code Engine-Workloads automatisieren, indem Sie eine Toolchain mit Continuous Deliveryerstellen. Sie können eine Toolchain erstellen, die Ihren Quellcode aus einem Repository extrahiert und dann Ihre App oder Ihren Job erstellt und bereitstellt. Wenn Sie den Quellcode im Repository aktualisieren, extrahiert die Toolchain automatisch Ihren aktualisierten Code und erstellt dann Ihre App oder Ihren Job und stellt sie erneut bereit.

Vorbereitende Schritte

Bevor Sie mit der Verwendung von Toolchains beginnen,

  • Erstellen oder identifizieren Sie ein Code Engine-Projekt. Sie können diese Ressourcen entweder über die Konsole oder die CLI erstellen. Weitere Informationen finden Sie unter Code Engine-Projekte.

  • Erstellen oder identifizieren Sie eine Instanz des Continuous Delivery-Service.

  • Erstellen Sie einen IBM Cloud Container Registry-Namensbereich oder geben Sie ihn an. Weitere Informationen zum Erstellen eines Namensbereichs finden Sie unter IBM Cloud Container Registry-Service.

Zugriff für Ihre Toolchain konfigurieren

Wenn Sie eine App oder einen Job mit einer Toolchain erstellen und bereitstellen möchten, müssen Sie die folgenden Berechtigungen in IAM festlegen.

IBM Cloud Container Registry

  • Reader: Zum Extrahieren des Image aus der Container-Registry.
  • Writer: Zum Übertragen des erstellten Image mit Push-Operation an den Zielnamensbereich.
  • Manager: Der angegebene Namensbereich wird erstellt, wenn er nicht vorhanden ist.
  • Administrator: Zum Erstellen einer Service-ID, von Richtlinien und eines API-Schlüssels, die zum Einrichten eines geheimen Code Engine-Registrierungsschlüssels für die App oder den Job erforderlich sind

Code Engine

  • Editor: Für den Zugriff auf ein Code Engine-Projekt oder für die Erstellung eines Projekts, falls es nicht vorhanden ist.
  • Writer: Zum Verwalten von Apps, Jobs und geheimen Schlüsseln im Projekt Code Engine.

Ressourcengruppe:

  • Viewer: Zum Anzeigen der Ressourcengruppe, in der sich das Projekt Code Engine befindet.

Wenn Sie möchten, dass Ihre App einen weiteren IBM Cloud-Service bindet, müssen Sie die folgenden zusätzlichen Berechtigungen festlegen.

Alle Services mit aktiviertem Identity and Access Management

  • Administrator: Zum Erstellen einer Service-ID, von Richtlinien und eines API-Schlüssels zum Einrichten eines geheimen Schlüssels für Code Engine-Servicezugriff, der zum Verwalten von Serviceberechtigungsnachweisen verwendet wird, um einzelne Services mit einer Code Engine-App oder einem Job zu verbinden.

Toolchain erstellen

Sie können eine Toolchain auf der Seite Toolchain erstellen, indem Sie Toolchain erstellen auswählen und dann die Vorlage Code Engine auswählen. Möchten Sie ein Lernprogramm ausprobieren? Siehe App mit Code Engine.

Optionen für Code Engine in Ihrer Toolchain

Sie können die folgenden Optionen für Ihre Code Engine-Toolchain definieren, indem Sie Ihre ci-pipeline Configuration bearbeiten und Umgebungseigenschaften auswählen.

Code Engine in der Toolchain
Option Beschreibung
apikey Der IBM Cloud-API-Schlüssel für diese Toolchain.
app-concurrency Die maximale Anzahl der Anforderungen, die pro Instanz gleichzeitig verarbeitet werden können. Der Standardwert ist 100.
app-deployment-timeout Die Zeit in Sekunden, die verstreichen kann, damit die Erstellung erfolgreich ausgeführt wird; nach Ablauf dieses Zeitraums schlägt die Anwendung fehl.
app-health-endpoint Der Endpunkt für den App-Status, z. B. /health.
app-max-scale Die maximale Anzahl der Instanzen, die für diese Anwendung verwendet werden können. Wenn Sie diesen Wert auf 0 setzen, wird die Anwendung nach Bedarf skaliert. Die Anwendungsskalierung wird nur durch die Instanzen pro Ressourcenkontingent für das Projekt Ihrer Anwendung begrenzt. Grenzwerte und Kontingente für Code Engine enthält weitere Informationen hierzu. Der Standardwert ist 10.
app-min-scale Die minimale Anzahl der Instanzen, die für diese Anwendung verwendet werden können. Diese Option ist nützlich, um sicherzustellen, dass keine Instanzen ausgeführt werden, wenn sie nicht benötigt werden. Dieser Wert ist optional. Der Standardwert ist 0.
app-name Der Name der Anwendung. Verwenden Sie einen Namen, der innerhalb des Projekts eindeutig ist.
app-port Der Port, an dem die Anwendung auf eingehende Verbindungen wartet. Das Format ist [NAME:]PORT, wobei [NAME:] optional ist. Wenn [NAME:] angegeben ist, sind die gültigen Werte h2c oder http1. Standardmäßig geht Code Engine davon aus, dass Anwendungen auf eingehende Verbindungen an Port 8080 warten.
app-visibility Die Sichtbarkeit der Anwendung. Gültige Werte sind public, private und project. Das Festlegen der Sichtbarkeit von public bedeutet, dass Ihre App Anforderungen vom öffentlichen Internet oder von Komponenten innerhalb des Code Engine-Projekts empfangen kann. Weitere Informationen finden Sie unter Optionen für die Sichtbarkeit einer Code Engine-Anwendung.
branch Der Zweig im Repository, der die Buildpacks-Datei oder die Dockerdatei enthält. Der Standardwert ist main.
build-size Die Größe für den Build; mit diesem Wert wird die Menge der verwendeten Ressourcen festgelegt. Gültige Werte sind small, medium, large, xlarge und xxlarge. Einzelheiten finden Sie unter Bestimmen der Größe des Builds.
build-strategy Die Strategie, die für die Erstellung des Images verwendet werden soll. Gültige Werte sind dockerfile und buildpacks.
build-timeout Die Zeit in Sekunden, die verstreichen kann, damit die Erstellung erfolgreich ausgeführt wird; nach Ablauf dieses Zeitraums schlägt die Buildausführung fehl. Der Standardwert ist 1200 Sekunden.
build-use-native-docker Optionale Eigenschaft zum Opt-in für die Verwendung nativer Docker-Buildfunktionen anstelle des Code Engine-Builds zum Containerisieren der Quelle. Sie können diesen Wert nur auswählen, wenn build-strategy auf dockerfile gesetzt ist. Gültige Werte: true und false.
code-engine-project Das Projekt, das diese Anwendung enthält.
cpu Die CPU-Kapazität, die für die Instanz der Anwendung festgelegt wurde. Informationen zu gültigen Werten finden Sie unter Unterstützte Speicher-und CPU-Kombinationen. Der Standardwert ist 1.
deployment-type Gibt den Implementierungstyp an. Gültige Werte sind application und job.
ephemeral-storage Die Menge des ephemeren Speichers, die für die Instanz der Anwendung festgelegt werden soll. Verwenden Sie M für Megabyte und G für Gigabyte.
git-token Das Zugriffstoken für das Git-Repository.
image-name Der Name des Image, das für diese Anwendung verwendet wird. Das Format ist REGISTRY/NAMESPACE/REPOSITORY:TAG. Dabei sind REGISTRY und TAG optional. Wird REGISTRY nicht angegeben, ist docker.io der Standardwert. Wird TAG nicht angegeben, ist latest der Standardwert.
memory Die Menge des Hauptspeichers für die Instanz der Anwendung. Verwenden Sie M für Megabyte oder G für Gigabyte. Informationen zu gültigen Werten finden Sie unter Unterstützte Speicher-und CPU-Kombinationen. Der Standardwert ist 4G.
path-to-context Das Verzeichnis in dem Repository, in dem die Datei mit den Buildpacks oder die Dockerfile enthalten ist.
path-to-dockerfile Der Pfad zur Dockerfile. Geben Sie diese Option nur an, wenn der Name nicht Dockerfile ist.
pipeline-debug Der Debugmodus der Pipeline. Der Wert kann 0 oder 1 sein. Der Standardwert ist 0.
region Die Region, in der sich das Code Engine Projekt befindet.
registry-namespace Der Container-Registry-Namensbereich, in dem das erstellte Image gespeichert wird
registry-region Die Container-Registry-Region.
resource-group Die Ressourcengruppe, die das Projekt Code Engine enthält
service-bindings Die Servicebindung, die eine IBM Cloud-Serviceinstanz an eine Anwendung bindet. Dieser Wert hat das Format "{&quot;<SERVICE_INSTANCE_NAME>&quot;: &quot;<BINDING_PREFIX>&quot;}". Beispiel: "{&quot;object-store-rg-e&quot;: &quot;CLOUD_OBJECT_STORAGE&quot;}. Dieser Wert muss in base64angegeben werden.

Weitere Optionen finden Sie unter Umgebungseigenschaften für Ihre Pipeline in Ihren Toolchain-Einstellungen.

Fehlerbehebung bei Toolchain-Problemen

In den folgenden Abschnitten finden Sie Informationen zur Fehlerbehebung für Ihre Code Engine-Toolchain.