Teil 3: Eine CD-Toolchain einrichten

Mit diesem Tutorial können Sie die Toolchain-Vorlage für die kontinuierliche Bereitstellung (CD) verwenden. Die Vorlage ist mit den Einstellungen vorkonfiguriert. Sie können Ihre Konfiguration validieren und bereitstellen, um das Tutorial abzuschließen.

Vorbereitende Schritte

  1. Vervollständigen Sie die Einrichtung der Voraussetzungen.
  2. Vervollständigen Sie die Einrichtung einer CI-Toolchain.
  3. Sehen Sie sich das folgende Video an:

  1. Siehe die DevSecOps-Praktiken zur Bereitstellung einer sicheren CD-Anwendung.

Setup der CD-Toolchain starten

Der Continuous Delivery-Dienst bietet Vorlagen, die Sie durch die Einrichtung der CD-Toolchain führen. Folgen Sie den Schritten, um auf die Vorlage für die CD-Toolchain zuzugreifen.

  1. Klicken Sie in der IBM Cloud-Konsole auf das Menüsymbol Menüsymbol > Plattformautomatisierung > Toolchains.
  2. Klicken Sie auf der Seite 'Toolchains' auf die Option Toolchain erstellen.
  3. Klicken Sie auf die Kachel CD - Deployment a secure app with DevSecOps practices, um die Vorlage anzuzeigen.

Toolchain-Einstellungen einrichten

Die Seite Willkommen fasst den Zweck der Toolchain zusammen und enthält Verweise auf die Dokumentation und zugehörige Materialien.

  1. Klicken Sie auf Starten.

  2. Geben Sie einen eindeutigen Toolchain-Namen ein. Beachten Sie, dass sich die Toolchain-Region von der Cluster- und Container Registry-Region unterscheiden kann.

  3. Wählen Sie eine Region und Wählen Sie eine Ressourcengruppe sind aufgeführt. Hinweis Sie können die Regionen bearbeiten.

  4. Optional können Sie die zugehörige Continuous Integration (CI) Toolchain aus dem Dropdown-Menü auswählen. Dies kopiert einen Teil der CI-Konfiguration, um die Einrichtung der CD-Toolchain zu erleichtern. Hinweis Damit werden möglicherweise einige der bereits eingegebenen Werte überschrieben.

  5. Klicken Sie auf Weiter.

    Der nächste Schritt kann erst aufgerufen werden, wenn die Konfiguration für den aktuellen Schritt ordnungsgemäß abgeschlossen ist. Sie können jederzeit auf Zurück klicken, um die vorherigen Schritte im geführten Installationsprogramm anzuzeigen. Das Toolchain-Installationsprogramm behält alle Konfigurationseinstellungen aus den aufeinander folgenden Schritten bei.

    Einige Schritte beinhalten eine Schaltfläche für die erweiterte Konfiguration. Diese Schritte stellen standardmäßig die Mindestkonfiguration dar. Fortgeschrittene Benutzer, die eine feinere Steuerung benötigen, können jedoch auf die Schaltfläche Zur erweiterten Konfiguration wechseln klicken, um die Optionen für die zugrunde liegende Integration anzuzeigen.

Toolintegrationen einrichten

Wenn Sie in diesem Schritt bereits eine Verknüpfung zu einer bestehenden CI-Toolchain hergestellt haben, sind der Name der Toolchain, die Region, die Repositorys und andere Felder bereits ausgefüllt. Überprüfen Sie die Repository-URLs und fahren Sie dann mit den nächsten Schritten fort.

Bestand

  1. Wählen Sie das Repository URL des Inventar-Repositorys aus, das in Ihrer CI-Toolchain konfiguriert ist.
  2. Klicken Sie auf Weiter.

Probleme

  1. Wählen Sie das Repository URL aus, um die Probleme aufzuzeichnen, während die CD-Pipeline läuft. Hinweis: Sie verwenden ein bestehendes Issues-Repository, das während der CI-Toolchain erstellt wurde.
  2. Klicken Sie auf Weiter.

Pipeline-Konfiguration

Das Repository für die Pipeline-Konfiguration enthält YAML-Dateien und Skripte, die für die Bereitstellung, das Testen und andere benutzerdefinierte Aufgaben benötigt werden.

  1. Übernehmen Sie die Standardeinstellungen für Quellanbieter.

    Wenn Sie kein Konfigurationsrepository haben, aktivieren Sie die Umschaltfläche Erweiterte Konfiguration und wählen Sie den Typ Repository klonen aus. Die Toolchain klont die Beispielkonfiguration in Ihrer Git Organisation. Weitere Informationen über Git Repos finden Sie unter Konfigurieren Ihres Git Repos and Issue Tracking. Weitere Informationen über anpassbare Skripte finden Sie unter Benutzerdefinierte Skripte.

  2. Geben Sie einen eindeutigen Neuen Repository-Namen ein.

  3. Klicken Sie auf Weiter.

Geheime Schlüssel

  1. Dieses Tutorial verwendet IBM Cloud® Secrets Manager als Tresor für Geheimnisse. Die Felder Region, Ressourcengruppe und Dienstleistungsname werden automatisch auf der Grundlage der verfügbaren Auswahlmöglichkeiten ausgefüllt. Klicken Sie auf die Dropdown-Anzeigen, um die anderen Auswahlmöglichkeiten zu sehen.
  2. Geben Sie Ihren Secrets Manager Instanznamen ein.
  3. Wählen Sie die Berechtigungsart aus der Dropdown-Liste aus.
  4. Klicken Sie auf Weiter.

Nachweisspeicher

  1. Wählen Sie eine Vorhandene Asservatenkammer verwenden.
  2. Wählen Sie das Repository URL aus, das bei der Konfiguration der CI-Toolchain (Continuous Integration) erstellt wurde. Weitere Informationen zur Speicherung von Beweisen finden Sie unter Beweise.
  3. Schalten Sie den IBM Cloud Object Storage Schieberegler um, um alle Beweise im IBM Cloud Object Storage Schaufel zu speichern.
  4. Klicken Sie auf Weiter.

Cloud-Bucket Object Storage

  1. Überprüfen und akzeptieren Sie die automatisch ausgefüllten IBM Cloud Object Storage Details. Weitere Informationen zur Konfiguration eines Buckets, der als Schließfach für Compliance-Nachweise fungieren kann, finden Sie unter Konfiguration von Object Storage zur Speicherung von Nachweisen.
  2. Geben Sie Ihren Service-API-Schlüssel an, um in eine IBM Cloud Object Storage-Instanz zu schreiben.
  3. Klicken Sie auf Weiter.

Signieren von Artefakten

  1. Geben Sie optional Code Signing Certificate ein, um die Gültigkeit der Signaturen für Artefakte zu überprüfen. Zum Beispiel Docker Artefakte, die von der CI-Pipeline erstellt und signiert werden, bevor sie in der Produktion eingesetzt werden.
  2. Klicken Sie auf Weiter.

Implementierungsziel

  1. Übernehmen Sie die Option Einzelner Cluster (Push-basierte Bereitstellung), um Ihre Anwendung auf Zielen wie virtuellen Serverinstanzen bereitzustellen, oder passen Sie den Bereitstellungsprozess mit der Option Benutzerdefiniert an.
  2. Klicken Sie auf Fortfahren, um die Clusterseite anzuzeigen.
  3. Geben Sie den IBM Cloud API-Schlüssel ein, um bei verschiedenen Aufgaben mit dem CLI-Tool zu interagieren. Hinweis Ein vorhandener Schlüssel kann durch Anklicken des Schlüsselsymbols aus einem Geheimnistresor importiert werden.
  4. Überprüfen Sie Ihre Cluster-Region, Ressourcengruppe, Cluster-Name, und Cluster-Namensraum Felder, in denen Ihr Zielcluster erstellt wird.
  5. Klicken Sie auf Weiter.

Änderungsanforderungsmanagement

  1. Übernehmen Sie die eingegebenen Werte für die Verwaltung von Änderungsanträgen. Weitere Informationen finden Sie unter Änderungsmanagement automatisieren.
  2. Geben Sie einen eindeutigen Neuen Repository-Namen ein.
  3. Legen Sie den Zweck der Zielumgebung als Production fest.
  4. Legen Sie das Ziel Umwelt Detail fest.
  5. Klicken Sie auf Weiter.

DevOps Insights toolchain

Verknüpfen Sie eine vorhandene DevOps Insights-Instanz aus einer anderen Toolchain mit dieser Pipeline, so dass alle Build-, Deploy- und Test-Datensätze aus den CI- und CD-Toolchain-Pipelines an derselben Stelle gesammelt werden können.

Die CD-Toolchain kann die Bereitstellungsdatensätze in einer bestehenden DevOps Insights-Instanz veröffentlichen. Um diese Funktion zu aktivieren, geben Sie die ID der Toolchain an, die die vorhandene DevOps Insights Instanz enthält, indem Sie in der DevOps Insights Toolchain-ID-Liste auswählen.

Die IBM Cloud DevOps Insights ist in der Toolchain enthalten. Zeigen Sie Ihre Pipeline-Testergebnisse für jeden Build, für jede Bereitstellung und jede Umgebung an.

  1. Geben Sie Ihren DevOps Insights IBM Cloud API Key an.
  2. Übernehmen Sie die Standardkonfiguration.
  3. Klicken Sie auf Weiter.

Optionale Tools

Slack

Konfigurieren Sie den Slack, um Benachrichtigungen über Ihre Pull-Anfragen oder CI-Pipeline-Ereignisse zu erhalten. Sie können das Slack-Tool auch nach der Erstellung der Toolchain hinzufügen.

  1. Geben Sie Ihren Slack-Webhook ein. Weitere Informationen finden Sie unter Slack webhook.
  2. Geben Sie Ihren Slack-Kanal ein, um eine Nachricht zu veröffentlichen.
  3. Geben Sie den Namen des Slack-Teams ein. Wenn Ihr Team URL zum Beispiel https://team.slack.com heißt, lautet der Teamname team.
  4. Wählen Sie Automatisierte Slack-Benachrichtigungen für die Ereignisse, über die Sie benachrichtigt werden möchten.
  5. Klicken Sie auf Weiter.

Optional können Sie das Senden von Benachrichtigungen mit der slack-notifications-Umgebungseigenschaft in Ihrer CD-Pipeline durch Verwendung von 0 = off, and 1 = on umschalten.

CD-Toolchain erstellen

Die einzelnen Toolchain-Integrationen können nach der Erstellung der Pipeline konfiguriert werden.

  1. Klicken Sie auf der Seite Zusammenfassung auf Toolchain erstellen und warten Sie, bis die Toolchain erstellt wurde.

DevSecOps CD-Toolchain erstellt
DevSecOps CD-Toolchain erstellt

CD-Toolchain durchsuchen

  1. Nachdem die CD-Toolchain erstellt wurde, klicken Sie auf die Kachel cd-pipeline, um die Promotion-Pipeline zu öffnen und auszuführen.

Promotion-Pipeline ausführen

Vergewissern Sie sich, dass die CI-Pipeline erfolgreich ausgeführt wurde, bevor Sie die Promotion-Pipeline starten.

  1. Klicken Sie auf cd-pipeline.

  2. Klicken Sie auf Ausführen für die Manuelle Promotion Trigger Pipeline.

  3. Klicken Sie auf Ausführen, um die Pipeline zu starten.

  4. Klicken Sie auf Manuelle Förderung auslösen > #1promotion-pipelinerun Pipeline. Warten Sie den Abschluss des Promotions-Pipeline-Laufs ab und prüfen Sie das Ausführungsprotokoll.

    Die Promotions-Pipeline erstellt eine Pull-Anforderung mit dem Inhalt des Inventars in der Quellumgebung des Inventars, z. B. master, die auf die Zielumgebung des Inventars abzielt, z. B. staging oder production.

  5. Nach erfolgreicher Beendigung der Promotion-Pipeline enthält das Aufgabenprotokoll promote einen Link zur Pull-Anforderung im Inventar-Repository. Der Name der Pull-Anfrage hat das Format promote <inventory source environment> to <inventory target environment>, zum Beispiel promote master to prod

  6. Öffnen Sie die Pull-Anfrage in Ihrem Browser über den im Protokoll angegebenen Link. Vervollständigen Sie die Angaben in den folgenden Abschnitten:

    • Priorität: (obligatorisch) festgelegt als Critical, High, Moderate, Low oder Planning.
    • Change Request assignee: (obligatorisch) Email-ID des Auftragnehmers.
    • Zusätzliche Beschreibung: Beschreibung der Änderungen in der Anwendung.
    • Zweck/Ziel: Zweck der Änderungen, die an der Anwendung vorgenommen werden.
    • Erläuterung der Auswirkungen: Auswirkung der Änderung auf das Anwendungsverhalten oder die Umgebung.
    • Ausstiegsplan: Schritte für den Ausstieg bei einem Ausfall der Bereitstellung.
  7. Füllen Sie die Felder im Pull Request aus und speichern Sie.

  8. Fügen Sie das Label EMERGENCY zu Ihrem Pull-Request hinzu, wenn eine Konformitätsprüfung in CI fehlgeschlagen ist und Sie mit der Bereitstellung fortfahren

  9. Führen Sie die Pull-Anforderung aus Git Repos and Issue Trackingzusammen.

Die Details der Pull-Anforderung werden während der CD-Pipeline verwendet, die zum Erstellen und Aktualisieren des Repositorys für Änderungsanforderungen ausgeführt wird.

CD-Pipeline ausführen

Sie können eine CD-Pipeline auf manuelle oder automatische Weise auslösen. Sie können die CD-Pipeline jederzeit manuell auslösen, aber wenn sich seit der letzten erfolgreichen Bereitstellung keine Änderungen ergeben haben, wird die CD-Pipeline vorzeitig abgebrochen, da es nichts zu verteilen gibt. Sie können force-redeploy-Variable hinzufügen und verwenden, um die CD ohne Codeänderungen erneut auszuführen. Sehen Sie sich die erfolgreiche Bildschirmaufnahme der DevSecOps CD-Pipeline an.

DevSecOps CD-Pipeline erfolgreich
DevSecOps CD-Pipeline erfolgreich

Sie können die Beispielanwendung finden, die im Produktionsnamensraum ausgeführt wird. Die Anwendung URL finden Sie unter run stage im Protokoll des Teilschritts prod deployment des CD-Pipeline-Laufs. Verwenden Sie diese URL, um zu überprüfen, ob die Anwendung ausgeführt wird.

Nächste Schritte

Sie haben erfolgreich eine DevSecOps CD-Toolchain erstellt und die cd-pipeline zum manuellen Auslösen in der Produktionsumgebung ausgeführt.

Fahren Sie nun mit Einrichten einer CC-Toolchain fort.