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:
- Vai alla pagina Trigger della tua pipeline PR o IC o CD o CC.
- Fare clic sull'icona Azioni
nella voce del repository e fare clic su Modifica.
- Aggiornare il ramo in
open-v10e fare clic su Aggiorna.
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
| 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 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.
| 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 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
| 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 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
| 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. |
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.
Disabilitazione della simultaneità in DevsecOps
Per disabilitare la concurrency in DevsecOps, procedere come segue:
- Vai alla pagina Trigger della tua pipeline PR o IC o CC.
- Fare clic sull'icona Azioni
sulla voce del repository e selezionare Modifica.
- Aggiornare il ramo in
open-v9e selezionare Aggiorna.