Teil 2: Einrichten einer CI-Toolchain
Dieses Tutorial zeigt Ihnen, wie Sie die Toolchain-Vorlage für die kontinuierliche Integration (CI) verwenden können. Die Vorlage ist vorkonfiguriert für die kontinuierliche Bereitstellung (CD) mit Bestandsintegration, Änderungsmanagement mit Git Repos and Issue Tracking, Beweissammlung und Bereitstellung 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 folgende Video 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 Cloud- IBM Cloud auf das Menüsymbol
> Plattformautomatisierung > Toolchains.
- 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. Wenn Sie Ihr ' eigene Anwendung / Dienstleistung verwenden, lesen Sie bitte nach:
- Bringen Sie Ihre eigene Anwendung zu DevSecOps.
- Konfigurieren Sie Ihre DevSecOps automatisch mit der Inferred DevSecOps Pipeline Configuration-Funktion.
- 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.
- Weiter klicken
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 Art der Autorisierung.
- Klicken Sie auf Weiter.
Nachweisspeicher
Der Evidence Locker speichert alle Evidenzen 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 benötigen die Instanz „ IBM Cloud® Object Storage “ und einen Cloud- Object Storage-Bucket, der als Speicherort für Compliance-Nachweise dient.
- 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.
Bereitstellung
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-Schlüssel 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 das Symbol Neu + 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.
Artefaktsignierung
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 Ihr Team zum Beispiel URL
https://team.slack.comheißt, lautet 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 Cloud- IBM Cloud auf das Menüsymbol
> Plattformautomatisierung > Toolchains.
- 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 in Ihrem Anwendungs-Repository eine Zusammenführungsanforderung 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 Zusammenführungsanfrage senden.
-
Klicken Sie auf der Seite CI-Toolchain auf die Kachel pr-pipeline. Überprüfen Sie, ob die
ci-pr pipelinedurch die Erstellung des Zusammenführungsantrags ausgelöst wird. -
Warten Sie den Abschluss des
ci-pr pipelineLaufs ab. 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.
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 Pipeline ausführen und wählen Sie Manueller Auslöser.
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.
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.
DevSecOps CI-Nachweis Sie können die Nachweise auch überprüfen, wenn während der Einrichtung die Option „ IBM Cloud Object Storage-Bucket“ 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 Anwendung URL befindet sich am Ende des Protokolls des Schritts run stage der Aufgabe deploy-dev 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 kontinuierliches Deployment bereitgestellt werden, basieren auf der Unterstützung von Continuous Delivery 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.