Verbessern der Compliance-Pipeline-Leistung in DevSecOps
Aktivieren Sie die Parallelität, um sicherzustellen, dass die Pipeline-Aufgaben in den Toolchains von „ DevSecOps “ gleichzeitig ausgeführt werden.
Vorbereitende Schritte
Verwenden Sie IBM-verwaltete Worker oder TAAS-verwaltete Worker direkt, da dies der vorausgesetzte Schritt ist.
Wenn Sie private Worker verwenden möchten, stellen Sie sicher, dass die Pipeline der Workerknoten Tekton Version v0.45 oder höher aufweisen muss. Weitere Informationen finden Sie unter Installationsanweisungen.
Gemeinsamen Zugriff in DevsecOps aktivieren
Führen Sie die folgenden Schritte aus DevsecOps, zu aktivieren:
- Rufen Sie die Seite Trigger Ihrer PR-oder CI-oder CD-oder CC-Pipeline auf.
- Klicken Sie im Repository-Eintrag auf das Symbol Aktionen
und klicken Sie auf Bearbeiten.
- Aktualisieren Sie den Zweig auf
open-v10und klicken Sie auf Aktualisieren.
Struktur der PR-Pipeline
Die PR-Pipeline führt Konformitätsprüfungen für eine Pull-Anforderung für ein bestimmtes Anwendungsrepository aus und dient als Absicherung für die Zusammenführung in den Hauptzweig. Die PR-Pipeline wird durch Öffnen oder Aktualisieren einer Pull-Anforderung für den Hauptzweig ausgelöst.
Weitere Informationen finden Sie in der Dokumentation zur PR-Pipeline.
| Stage 'PR Pipeline' | Phasenbeschreibung |
|---|---|
code-pr-start |
Klonen Sie das GitHub-Repository in Verbindung mit der Pull-Anforderung. |
code-setup |
Richten Sie Ihre Build-und Testumgebung ein, um die restlichen Pipeline-Phasen vorzubereiten. |
code-detect-secrets |
Wird ausgeführt, um den Scan geheimer Schlüssel im Anwendungscode zu erkennen |
code-unit-tests |
Führt Komponententests für Code aus, der der Bedarfsanforderung zugeordnet ist. |
code-compliance-checks |
Code Risk Analyzer (CRA) und Mend Unified Agent suchen nach Schwachstellenerkennung in Open-Source-Abhängigkeiten und anderen Konformitätsprüfungen für Anwendungsrepositorys. |
code-pr-finish |
Konsolidiert den Pipelinestatus. Die Phase schlägt fehl, wenn die Konformitätsprüfungen der vorherigen Ausführung fehlschlagen. Diese Phase ist das "ausfallsichere" Verhalten, um sicherzustellen, dass Konformitätsprobleme behoben werden, bevor eine Bedarfsanforderung zusammengeführt und/oder ein Build implementiert werden kann. |
CI-Pipeline-Struktur
Die CI-Pipeline erstellt implementierbare Artefakte aus Anwendungsrepositorys. Es scannt, testet und signiert erstellte Artefakte und erfasst gleichzeitig Angaben für jede Phase, die im Bestand freigegeben und über das Implementierungs-und Änderungsmanagement verfolgt wird.
Weitere Informationen finden Sie in der Dokumentation zur CI-Pipeline.
| Stage: CI-Pipeline | Phasenbeschreibung |
|---|---|
code-ci-start |
Richten Sie die Pipeline-Umgebung ein, einschließlich des Klonens der Konfigurations-und Anwendungsrepositorys im lokalen Dateisystem der Pipeline. |
code-setup |
Richten Sie Ihre Build-und Testumgebung ein, um die restlichen Pipeline-Phasen vorzubereiten. |
code-detect-secrets |
Führt die Suche nach geheimen Schlüsseln für Anwendungscode aus. |
code-unit-tests |
Führen Sie Komponententests und Anwendungstests für den Anwendungscode aus. |
code-peer-review |
Peer-Überprüfung von Codeänderungen. |
code-static-scan |
Führen Sie einen statischen Scan des Anwendungscodes durch. |
code-compliance-checks |
Code Risk Analyzer (CRA) und Mend Unified Agent suchen nach Schwachstellenerkennung in Open-Source-Abhängigkeiten und anderen Konformitätsprüfungen für Anwendungsrepositorys. |
build-artifact |
Erstellen Sie die Artefakte und Images. |
build-sign-artifact |
Erstellte Artefakte und Images signieren. |
build-scan-artifact |
Scannen Sie das Container-Image mit Vulnerability Advisor. |
deploy-dev |
Stellen Sie die durch den Build erstellten Artefakte in der Entwicklungsumgebung (dev) bereit. |
code-dynamic-scan |
Führt den dynamischen OWASP-Zap-Scan für die Anwendung aus, die in einem Cluster bereitgestellt wird |
deploy-acceptance-tests |
Führen Sie Akzeptanz- und Integrationstests für die bereitgestellten, durch den Build erstellten Artefakte in der Entwicklungsumgebung (dev) durch. |
deploy-release |
Fügen Sie die erstellten Artefakte zum Bestand hinzu, der von der Pipeline Continuous Delivery verwendet wird. |
code-ci-finish |
Sammeln und erstellen Sie Protokolldateien, Artefakte und Nachweise und laden Sie diese in das Nachweisschließfach hoch. Wenn eine der Konformitätsprüfungen. Diese Phase schlägt fehl, wenn sie zuvor in der Pipeline ausgeführt wurde. Diese Phase ist das "ausfallsichere" Verhalten, um sicherzustellen, dass Konformitätsprobleme behoben werden, bevor eine Bedarfsanforderung zusammengeführt und/oder ein Build implementiert werden kann. |
CD-Pipeline-Struktur
Die CD-Pipeline kompiliert den gesamten Inhalt für Angaben und die Zusammenfassung der Änderungsanforderung. Sie stellt den Build in einer Umgebung wie Staging oder Produktion bereit, während alle Angaben in das Angabenfach hochgeladen werden.
Weitere Informationen finden Sie in der Dokumentation zur CD-Pipeline.
| Stage: CD-Pipeline | Phasenbeschreibung |
|---|---|
prod-start |
Implementierungsdelta berechnen |
prod-setup |
Richten Sie die Build-und Testumgebung ein |
prod-verify-artifact |
Überprüft Signaturen von Images, die in der CI-Pipeline erstellt wurden. |
prod-change-request |
Erstellung und Genehmigung von Änderungsanforderungen und Implementierungsstatus. |
prod-deployment |
Implementieren Sie den Build in einer Umgebung. |
prod-acceptance-tests |
Abnahmetests ausführen. |
prod-finish |
Abnahmetests veröffentlichen, Datensatz implementieren, CycloneDX-SBOM erfassen und Änderungsanforderung schließen. |
CC-Pipeline-Struktur
Die CC-Pipeline führt regelmäßige Scans für implementierte Artefakte und ihre Quellenrepositorys durch. Er überprüft den zuletzt implementierten Status im Bestand und erstellt oder aktualisiert Vorfallprobleme im Vorfallrepository.
Weitere Informationen finden Sie in der Dokumentation zur CC-Pipeline.
| Stage 'CC Pipeline' | Phasenbeschreibung |
|---|---|
cc-start |
Repository klonen, Bestand basierend auf Tag verarbeiten und Repositorys und Artefakte registrieren |
cc-setup |
Richten Sie die Pipeline-Umgebung für die Scans in späteren Phasen ein. Dies kann die Installation von Buildabhängigkeiten oder die Ausführung von Maven-Builds umfassen |
cc-detect-secrets |
Wird ausgeführt, um geheime Schlüssel in einem Anwendungscode zu scannen und zu erkennen. |
cc-static-scan |
Statischen Scan-Code auf den Anwendungscode anwenden |
cc-dynamic-scan |
Führt den dynamischen OWASP-Zap-Scan für die Anwendung aus, die in einem Cluster bereitgestellt wird. |
cc-compliance-checks |
Code Risk Analyzer (CRA) und Mend Unified Agent suchen nach Schwachstellenerkennung in Open-Source-Abhängigkeiten und anderen Konformitätsprüfungen für Anwendungsrepositorys. |
cc-scan-artifact |
Scannen Sie das Container-Image mit Vulnerability Advisor. |
cc-finish |
Sammeln und erstellen Sie Protokolldateien, Artefakte und Nachweise und laden Sie diese in das Nachweisschließfach hoch. Wenn eine der zuvor in der Pipeline ausgeführten Konformitätsprüfungen fehlschlägt, schlägt diese Phase fehl. Diese Phase hat ein "ausfallsicheres" Verhalten, um sicherzustellen, dass Konformitätsprobleme behoben werden, bevor eine Bedarfsanforderung zusammengeführt und/oder ein Build implementiert werden kann. |
Strukturen der Dev-Modus-Pipeline
Pipelines im Entwicklungsmodus werden nur zum Testen der Pipeline verwendet.
Ihnen fehlen die folgenden Funktionen:
- Nachweiserfassung
- Gating basierend auf Angaben.
Die Entwicklungsmoduspipelinestrukturen sind nicht produktionsbereit.
Gemeinsamen Zugriff in DevsecOps inaktivieren
Um die Parallelität in DevsecOps, führen Sie die folgenden Schritte aus:
- Rufen Sie die Seite Auslöser Ihrer PR-oder CI-oder CC-Pipeline auf.
- Klicken Sie auf das Symbol Aktionen
für den Repositoryeintrag und wählen Sie Bearbeiten aus.
- Aktualisieren Sie die Verzweigung auf
open-v9und wählen Sie Aktualisieren aus.