Migliorare le prestazioni della pipeline di conformità in DevSecOps

Abilita la concorrenza per assicurarti che le attività della pipeline vengano eseguite simultaneamente in una catena di strumenti DevSecOps.

Prima di iniziare

Utilizza i nodi di lavoro gestiti da IBMo i nodi di lavoro gestiti da TAAS direttamente poiché questo è un passo prerequisito.

Per utilizzare i nodi di lavoro privati, assicurati che la pipeline dei nodi di lavoro sia Tekton versione v0.45 o successiva. Per ulteriori informazioni, consultare Istruzioni di installazione

Abilitazione della simultaneità in DevsecOps

Per abilitare la concurrency in DevsecOps, procedere come segue:

  1. Vai alla pagina Trigger della tua pipeline PR o IC o CD o CC.
  2. Fare clic sull'icona Azioni icona Azioni nella voce del repository e fare clic su Modifica.
  3. Aggiornare il ramo in open-v10 e fare clic su Aggiorna.

Definizioni della pipeline
Definizioni della pipeline

Struttura pipeline PR

La pipeline PR esegue i controlli di conformità su una richiesta di pull per un determinato repository di applicazioni e funge da salvaguardia per l'integrazione nel ramo principale. La pipeline RdA viene attivata aprendo o aggiornando una richiesta di pull rispetto al ramo principale.

Per ulteriori informazioni, vedi la documentazione della pipeline PR

Fasi della struttura della pipeline PR e descrizione di ciascuna fase
Stage PR Pipeline Descrizione stage
code-pr-start Clona il repository GitHub in associazione con la richiesta Pull.
code-setup Configura il tuo ambiente di build e di test per preparare il resto delle fasi della pipeline.
code-detect-secrets Viene eseguito per rilevare la scansione dei segreti sul codice dell'applicazione.
code-unit-tests Esegue il test unità per il codice associato alla RdA.
code-compliance-checks Code Risk Analyzer (CRA) e Mend Unified Agent effettuano la scansione per rilevare le vulnerabilità sulle dipendenze open source e qualsiasi altro controllo di conformità sui repository dell'applicazione.
code-pr-finish Consolida lo stato della pipeline. La fase ha esito negativo se le precedenti verifiche di conformità non riescono. Questa fase è il comportamento "fail-safe" per garantire che i problemi di conformità vengano risolti prima che una RdA possa essere unita e / o una build possa essere distribuita.

Struttura della pipeline PR
Struttura della pipeline PR

Struttura pipeline IC

La pipeline CI crea risorse distribuibili dai repository dell'applicazione. Esegue la scansione, verifica e firma le risorse utente create, raccogliendo le prove su ogni fase da rilasciare nell'inventario e monitorando la distribuzione e la gestione delle modifiche.

Per ulteriori informazioni, consultare la documentazione della pipeline CI.

Fasi della struttura della pipeline CI e descrizione di ciascuna fase
Stage CI Pipeline Descrizione stage
code-ci-start Impostare l'ambiente della pipeline, inclusa la clonazione dei repository di configurazione e applicazione nel file system locale della pipeline
code-setup Configura il tuo ambiente di build e di test per preparare il resto delle fasi della pipeline.
code-detect-secrets Esegue il rilevamento della scansione dei segreti sul codice dell'applicazione.
code-unit-tests Eseguire test di unità e test di applicazione sul codice dell'applicazione.
code-peer-review Revisione peer delle modifiche al codice.
code-static-scan Eseguire la scansione statica sul codice dell'applicazione.
code-compliance-checks Code Risk Analyzer (CRA) e Mend Unified Agent effettuano la scansione per rilevare le vulnerabilità sulle dipendenze open source e qualsiasi altro controllo di conformità sui repository dell'applicazione.
build-artifact Creare le risorse utente e le immagini.
build-sign-artifact Firma artefatti e immagini create.
build-scan-artifact Esegui la scansione dell'immagine del contenitore con il Vulnerability Advisor.
deploy-dev Distribuisci le risorse utente create nell'ambiente di sviluppo.
code-dynamic-scan Esegue la scansione dinamica di OWASP - Zap sull'applicazione distribuita in un cluster.
deploy-acceptance-tests Eseguire i test di accettazione e integrazione sulle risorse utente create distribuite nell'ambiente di sviluppo.
deploy-release Aggiungere le risorse utente create all'inventario che verrà utilizzato dalla pipeline Continuous Delivery.
code-ci-finish Raccogliere, creare e caricare i file di log, le risorse utente e le prove nel blocco di prove. Se uno dei controlli di compatibilità. Precedentemente eseguito nella pipeline non riesce, questa fase non riesce. Questa fase è il comportamento "fail-safe" per garantire che i problemi di conformità vengano risolti prima che una RdA possa essere unita, che venga distribuita una build o quando entrambi.

Struttura della pipeline CI
Struttura della pipeline CI

Struttura pipeline CD

La pipeline del CD compila tutto il contenuto per la prova e il riepilogo della richiesta di modifica. Distribuisce la build in un ambiente, come ad esempio la preparazione o la produzione, caricando tutte le prove nel locker delle prove.

Per ulteriori informazioni, consultare la documentazione della pipeline del CD

Fasi della struttura della pipeline CD e descrizione di ciascuna fase
Stage CD Pipeline Descrizione stage
prod-start Calcola delta di distribuzione
prod-setup Imposta ambiente di build e di test.
prod-verify-artifact Verifica le firme delle immagini create nella pipeline CI.
prod-change-request Creazione e approvazione della richiesta di modifica e stato di implementazione.
prod-deployment Distribuire la build in un ambiente.
prod-acceptance-tests Eseguire i test di accettazione.
prod-finish Pubblicare i test di accettazione, distribuire record, raccogliere SBOM CycloneDX e chiudere la richiesta di modifica.

struttura della conduttura CD
struttura della conduttura CD

Struttura pipeline CC

La pipeline CC esegue scansioni periodiche sulle risorse distribuite e sui relativi repository di origine. Esegue la scansione dell'ultimo stato distribuito nell'inventario e crea o aggiorna i problemi di incidente nel repository di incidenti.

Per ulteriori informazioni, fai riferimento a CC pipeline documentation

Fasi della struttura della pipeline CC e descrizione di ciascuna fase
Fase pipeline CC Descrizione stage
cc-start Clona repository, elabora l'inventario in base alla tag e registra repository e risorse utente
cc-setup Configurare l'ambiente della pipeline per le scansioni in fasi successive. Ciò può includere l'installazione di dipendenze di build o l'esecuzione di build Maven
cc-detect-secrets Viene eseguito per eseguire la scansione e rilevare i segreti in un codice dell'applicazione
cc-static-scan Esegui codice di scansione statico sul codice dell'applicazione
cc-dynamic-scan Esegue la scansione dinamica OWASP - Zap sull'applicazione distribuita a un cluster
cc-compliance-checks Code Risk Analyzer (CRA) e Mend Unified Agent effettuano la scansione per rilevare le vulnerabilità sulle dipendenze open source e qualsiasi altro controllo di conformità sui repository dell'applicazione.
cc-scan-artifact Esegui la scansione dell'immagine del contenitore con il Vulnerability Advisor.
cc-finish Raccogliere, creare e caricare i file di log, le risorse utente e le prove nel blocco di prove. Se uno dei controlli di conformità precedentemente eseguiti nella pipeline ha esito negativo, questa fase ha esito negativo. Questa fase ha un comportamento "fail-safe" per garantire che i problemi di conformità vengano risolti prima che una RdA possa essere unita e / o una build possa essere distribuita.

Struttura della conduttura CC
Struttura della conduttura CC

Strutture pipeline modalità sviluppo

Le pipeline in modalità dev vengono utilizzate solo per il test della pipeline.

Ad essi mancano le seguenti funzioni:

  • Raccolta di prove
  • Gating basato su prove.

Le strutture della pipeline in modalità sviluppo non sono pronte per la produzione.

Struttura della conduttura PR in modalità Dev
Struttura della conduttura PR in modalità Dev

Struttura della pipeline CI in modalità di sviluppo
Struttura della pipeline CI in modalità di sviluppo

Disabilitazione della simultaneità in DevsecOps

Per disabilitare la concurrency in DevsecOps, procedere come segue:

  1. Vai alla pagina Trigger della tua pipeline PR o IC o CC.
  2. Fare clic sull'icona Azioni icona Azioni sulla voce del repository e selezionare Modifica.
  3. Aggiornare il ramo in open-v9 e selezionare Aggiorna.