Einrichten einer CI-Toolchain
Dieses Tutorial zeigt Ihnen, wie Sie die Toolchain-Vorlage für kontinuierliche Integration (CI) mit Security and Compliance Center verwandten Praktiken in DevSecOps verwenden. Die Vorlage ist vorkonfiguriert für Continuous Deployment (CD) mit Inventory Integration, Change Management mit Git Repos and Issue Tracking, Evidence Collection und Deployment auf IBM Cloud Kubernetes Service.
Sie können die IAM-Einstellungen für die Konten in Ihrem Unternehmen anpassen und zentral verwalten, um die Compliance und interne Standards zu erfüllen.
Vorbereitende Schritte
- Schließen Sie das Tutorial zum Einrichten der Voraussetzungen ab.
- Sehen Sie sich das Video Einstieg in DevSecOps in IBM Cloud an.
Setup der CI-Toolchain starten
Der Continuous Delivery-Dienst bietet Vorlagen, die Sie durch die Einrichtung der Toolchain führen und Prozesse in einer logischen Reihenfolge erstellen. Ein Fortschrittsanzeiger zeigt die Schritte zum Ausführen der Konfiguration an. Folgen Sie den Schritten, um auf die Vorlage für die CI-Toolchain zuzugreifen.
- Klicken Sie in der Konsole IBM Cloud auf Menü
, und wählen Sie DevOps.
- Klicken Sie auf der Seite Toolchains auf Create toolchain.
- Klicken Sie auf die Kachel CI - Entwickeln Sie eine sichere Anwendung mit DevSecOps Praktiken.
Einrichten der Einstellungen der CI-Toolchain
Die Willkommensseite fasst den Zweck der Toolchain zusammen und verweist auf die Dokumentation und zugehörige Materialien.
-
Klicken Sie auf Starten.
-
Geben Sie einen eindeutigen Toolchain-Namen innerhalb Ihrer Toolchain für dieselbe Region und Ressourcengruppe in das IBM Cloud ein.
-
Wählen Sie eine Region aus.
-
Wählen Sie eine Ressourcengruppe aus.
-
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.
Einrichten von CI-Tool-Integrationen
Überprüfen Sie die Standardeinstellungen und stellen Sie die benutzerdefinierten Konfigurationen bereit, wo immer dies zur Einrichtung der CI-Tool-Integration erforderlich ist.
Anwendung
- Wählen Sie Quellanbieter als Git Repos and Issue Tracking.
- Das Standardverhalten der Toolchain ist Standardbeispielanwendung verwenden. Die Toolchain unterstützt derzeit nur die Verknüpfung mit bestehenden Git Repos and Issue Tracking Repositories. Weitere Informationen zu Bringen Sie Ihre eigene Anwendung finden Sie unter Bringen Sie Ihre eigene Anwendung zu DevSecOps.
- Geben Sie einen eindeutigen Namen für Neuer Repository-Name ein.
- Klicken Sie auf Weiter.
Bestand
Im Bestandsrepository werden Details zu Artefakten aufgezeichnet, die von den CI-Toolchains erstellt werden.
- Sie können die in der Vorlage enthaltene Standardkonfiguration übernehmen oder die Konfiguration nach Ihren Wünschen bearbeiten.
- Klicken Sie auf Weiter.
Probleme
Das Problemrepository zeichnet Probleme auf, die während der Ausführung der CI-Pipeline gefunden werden.
- Sie können die in der Vorlage enthaltene Standardkonfiguration übernehmen oder die Konfiguration nach Ihren Wünschen bearbeiten.
- Klicken Sie auf Fortfahren
Geheime Schlüssel
Geben Sie die geheimen Tresor-Integrationen an, die zu Ihrer Toolchain hinzugefügt werden sollen, indem Sie die Kippschalter verwenden. Weitere Informationen finden Sie unter Verwaltung von IBM Cloud Geheimnissen.
Die CI-Toolchain unterstützt nur die Typen Beliebige geheime Schlüssel und IAM-Berechtigungsnachweise für geheime Schlüssel.
- Dieses Lernprogramm verwendet IBM Cloud® Secrets Manager als Vault für geheime Schlüssel. Die Felder Region, Ressourcengruppe und Servicename werden basierend auf den verfügbaren Auswahlmöglichkeiten automatisch ausgefüllt. Klicken Sie auf die Dropdown-Anzeigen, um die anderen Auswahlmöglichkeiten zu sehen.
- Geben Sie Ihren Secrets Manager Instanznamen ein.
- Wählen Sie die Berechtigungsart.
- Klicken Sie auf Weiter.
Nachweisspeicher
Das Evidence Repository speichert alle Beweise und Artefakte, die von der DevSecOps CI-Pipeline erzeugt werden.
- Schalten Sie den IBM Cloud Object Storage Bucket-Schieberegler um, um alle Beweise im IBM Cloud Object Storage Bucket zu speichern, das auf der nächsten Seite konfiguriert werden kann.
- Übernehmen Sie die Standardeinstellungen.
- Klicken Sie auf Weiter.
Cloud-Bucket Object Storage
Sie müssen über die IBM Cloud® Object Storage Instanz und einen Cloud Object Storage Bucket verfügen, um als Compliance-Beweismittel zu fungieren.
- Die Felder Cloud Object Storage instance, Bucket name und Cloud Object Storage endpoint werden automatisch ausgefüllt.
- Geben Sie Ihren Service ID API-Schlüssel ein.
- Bevorzugt: Ein vorhandener Schlüssel kann durch Klicken auf das Schlüsselsymbol aus einer Vault für geheime Schlüssel importiert werden.
- Ein vorhandener Schlüssel kann kopiert und eingefügt werden.
- Klicken Sie auf Weiter.
Das Feld Endpunkt ist optional. Es wird empfohlen, den Endpunkt während der Einrichtung der Toolchain oder während der Pipelineausführung auszuwählen bzw. bereitzustellen.
Implementieren
Konfigurieren Sie den Ziel-Kubernetes-Cluster, in dem die Anwendung implementiert ist.
-
Verwenden Sie den Standard App-Namen
hello-compliance-app
. -
Geben Sie Ihren IBM Cloud API Key ein. Der API-Schlüssel wird für die Interaktion mit dem IBM Cloud CLI-Tool bei verschiedenen Aufgaben verwendet.
- Bevorzugt: Ein vorhandener Schlüssel kann durch Klicken auf das Schlüsselsymbol aus einer Vault für geheime Schlüssel importiert werden.
- Ein vorhandener Schlüssel kann kopiert und eingefügt werden.
- Von hier aus kann ein neuer Schlüssel erstellt werden, indem Sie auf New + klicken.
Der neu generierte API-Schlüssel kann sofort in einer Vault für geheime Schlüssel gespeichert werden.
-
Wenn der API-Schlüssel gültig ist und ausreichenden Zugriff hat, werden die Container Registry, Container Registry namespace, Dev cluster region, Ressource group, Cluster name, Cluster namespace werden automatisch ausgefüllt. Sie können jedes dieser Felder entsprechend Ihrer Konfiguration ändern.
-
Klicken Sie auf Weiter.
Unterzeichnung des Artefakts
Die von der Toolchain erstellten und im Inventar erfassten Artefakte müssen signiert werden, bevor sie in der Produktion eingesetzt werden.
- Geben Sie den GnuPG Private Key ein. Alternativ können Sie auch einen neuen GPG-Schlüssel erstellen, indem Sie auf NEU klicken. Weitere Informationen finden Sie unter Generieren eines GPG-Schlüssels.
- Klicken Sie auf Weiter.
DevOps Insights
Die IBM Cloud DevOps Insights ist in der Toolchain enthalten. Zeigen Sie Ihre Pipeline-Testergebnisse für jeden Build aus jeder Implementierung und Umgebung an.
- Übernehmen Sie die Standardkonfiguration.
- Klicken Sie auf Weiter.
SonarQube
Konfigurieren Sie SonarQube als Werkzeug für die statische Codeanalyse für die Toolchain. SonarQube bietet eine Übersicht über den Gesamtzustand und die Qualität Ihres Quellcodes und markiert Probleme, die in neuem Code gefunden werden. Die statischen Code-Analysatoren erkennen knifflige Fehler wie Null-Zeiger-Dereferenzen, Logikfehler und Ressourcenlecks für mehrere Programmiersprachen.
- Übernehmen Sie die Standardkonfiguration.
- Klicken Sie auf Weiter.
Optionale Tools
Slack
Konfigurieren Sie 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.
- Geben Sie Ihren Slack Webhook ein. Weitere Informationen finden Sie unter Slack webhook.
- Geben Sie Ihren Slack-Kanal ein, um eine Nachricht zu veröffentlichen.
- Geben Sie den Namen des Slack-Teams ein. Wenn Ihre Team-URL zum Beispiel
https://team.slack.com
lautet, ist der Teamnameteam
. - Wählen Sie die Ereignisse, für die Sie Benachrichtigungen erhalten möchten Automatisierte Slack-Benachrichtigungen.
- Klicken Sie auf Weiter.
CI-Toolchain erstellen
- Klicken Sie auf der Seite 'Zusammenfassung' auf Toolchain erstellen.
- Warten Sie auf die Erstellung der Toolchain. Dieser Vorgang kann einige Minuten in Anspruch nehmen.
CI-Toolchain erkunden
Die CI-Toolchain enthält ci-pr-pipeline (PR)
und ci-pipeline (CI)
. Diese Pipelines werden ausgelöst, wenn im Anwendungs-Repository eine neue Zusammenführungsanforderung eingereicht oder mit Master zusammengeführt wird.
Folgen Sie den Schritten, um auf Ihre Toolchain zuzugreifen:
- Klicken Sie in der Konsole IBM Cloud auf Menü
, und wählen Sie DevOps.
- Klicken Sie auf der Seite Toolchains auf Create toolchain.
- Klicken Sie auf Ihre Toolchain, um die Ausgabe zu sehen, wie im folgenden Artefakt dargestellt.

CI-PR-Pipeline ausführen
Um die ci-pr pipeline
zu starten, müssen Sie eine Zusammenführungsanforderung in Ihrem Anwendungs-Repository erstellen.
-
Klicken Sie auf der Seite der CI-Toolchain auf die Kachel
ci-pr pipeline
. Standardmäßig wird sie mit dem Namencompliance-app-<timestamp>
erstellt. -
Erstellen Sie einen Zweig aus dem Master-Zweig.
-
Aktualisieren Sie den Code in der Anwendung oder fügen Sie eine Readme-Datei hinzu, und speichern Sie die Änderungen.
-
Klicken Sie auf Absenden Zusammenführungsanfrage.
-
Klicken Sie auf der Seite CI toolchain auf die Kachel pr-pipeline. Überprüfen Sie, ob die
ci-pr pipeline
durch die Erstellung des Zusammenführungsantrags ausgelöst wird. -
Warten Sie, bis der
ci-pr pipeline
-Lauf abgeschlossen ist. Der entsprechende Zusammenführungsantrag in Ihrem Anwendungs-Repository befindet sich im ZustandPending
, bis alle Phasen der PR-Pipeline erfolgreich abgeschlossen sind. -
Wenn der PR-Pipeline-Lauf erfolgreich war, klicken Sie auf die Pipeline, um die zahlreichen abgeschlossenen Schritte zu prüfen und die Seite anzuzeigen.
Abbildung 2. DevSecOps PR-Pipeline erfolgreich -
Greifen Sie auf die Zusammenführungsanforderung zu, um die Anforderung zusammenzuführen, damit Ihre Änderungen in den Master-Zweig Ihres Anwendungs-Repositorys kopiert werden.
CI-Pipeline ausführen
Starten Sie die CI-Pipeline auf eine der folgenden Arten:
- Automatisch: Nach einer erfolgreich ausgeführten PR-Pipeline, durch Freigeben und Zusammenführen der Pull-Anforderung mit dem Masterzweig.
- Manuell: Um die CI-Pipeline manuell auszulösen, wählen Sie die Karte Delivery Pipeline, klicken Sie auf Run Pipeline, und wählen Sie Manual Trigger.
In diesem Tutorial wurde die CI-Pipeline ausgelöst, nachdem Sie Ihre Codeänderungen mit dem Master-Zweig Ihres Anwendungs-Repositorys zusammengeführt hatten.
-
Klicken Sie auf der Seite CI toolchain auf die Kachel ci-pipeline.
-
Klicken Sie auf Ausführen neben dem Namen Ihrer Pipeline. Beobachten Sie, dass ein Pipelinelauf läuft. Warten Sie, bis der Pipelinelauf abgeschlossen ist.
-
Nachdem die CI-Pipeline erfolgreich ausgeführt wurde, klicken Sie auf die Pipeline, um die abgeschlossenen Schritte zu erkunden und die Seite wie im Screenshot zu sehen.
Abbildung 3. DevSecOps CI-Pipeline -
Klicken Sie auf die Kachel DevOps Insights, um die gesammelten Nachweise auf der Seite Quality Dashboard zu überprüfen, wie im Screenshot gezeigt.
Abbildung 4. DevSecOps KI-Beweise Sie können die Beweise auch überprüfen, wenn der IBM Cloud Object Storage-Eimer während der Einrichtung aktiviert ist. Um festzustellen, ob in Ihrem Pipelinelauf Fehler aufgetreten sind, müssen Sie den letzten Schritt Ihrer Pipeline überprüfen, der über einen Pipeline-Evaluator verfügt.
Aktive Anwendung anzeigen
Nach einer erfolgreichen Ausführung der CI-Pipeline wird die Beispielanwendung in Ihrem Kubernetes-Cluster bereitgestellt.
Die Anwendungs-URL befindet sich am Ende des Protokolls des run stage
Schritts der deploy-dev
Aufgabe des CI-Pipeline-Laufs. Verwenden Sie diese URL, um zu überprüfen, ob die Anwendung ausgeführt wird.
Pipelineanpassung
Die verschiedenen Pipelines, die in den Referenz-Toolchains für kontinuierliche Integration und kontinuierliche Bereitstellung bereitgestellt werden, basieren auf der Continuous Delivery-Unterstützung für Tekton Pipelines. Weitere Informationen zur Anpassung der Pipeline finden Sie unter Wie kann ein Benutzer die Pipeline anpassen?
Nächste Schritte
Sie haben erfolgreich eine DevSecOps CI-Toolchain erstellt, ci-pr pipeline
und ci-pipeline
ausgeführt, um Ihre Änderungen zu erstellen, zu testen und in der Entwicklungsumgebung bereitzustellen. Jetzt sind Sie bereit
für die Einrichtung einer CD-Toolchain.