IBM Cloud Docs
Flusso di lavoro di implementazione di riferimento DevSecOps

Flusso di lavoro di implementazione di riferimento DevSecOps

L'architettura di riferimento DevSecOps semplifica la conformità e la capacità di controllo utilizzando blocchi di creazione come la libreria di attività Tekton e modelli di toolchain.

Poiché i processi di integrazione continua, distribuzione continua e conformità continua sono standardizzati, i team di sviluppo delle applicazioni possono essere certi di seguire le best practice di sicurezza. L'architettura di riferimento DevSecOpsA methodology that integrates security practices with the software development and operations lifecycle. The goal of the merge is to prioritize the balance of development speed and security. fornisce una serie di template di toolchain di integrazione continua, distribuzione continua e conformità continua predefiniti. Questi template utilizzano una raccolta di integrazioni di strumenti e pipeline Tekton di riferimento personalizzabili per build, scansione, test, gestione modifiche e distribuzione. Le definizioni delle pipeline vengono gestite e aggiornate periodicamente da IBM a meno che non modifichi l'impostazione predefinita quando crei le toolchain.

Le pipeline Tekton forniscono un framework di script personalizzati che è possibile utilizzare per garantire l'orchestrazione automatica e conforme delle modifiche di codice e configurazione. Le pipeline possono anche aiutare a gestire un inventario di release GitOps, mentre raccoglie e memorizza le prove che possono essere utilizzate per generare richieste di modifica controllabili.

Puoi utilizzare le pipeline per la distribuzione in ambienti di destinazione ibridi o cloud pubblico utilizzando i nodi di lavoro pipeline privati Tekton. Le pipeline Tekton vengono eseguite in immagini contenitore predefinite insieme ad alcuni script utente. È possibile eseguire qualsiasi cosa che può essere scritta, entro i limiti delle pipeline Tekton.

Shift - Left continuous integration, progettazione della distribuzione continua

Il seguente diagramma mostra il flusso di lavoro di implementazione e le funzioni principali dell'architettura DevSecOps.

Flusso di lavoro di implementazione di riferimento
Figura 1. Flusso di lavoro di implementazione di riferimento

  • La convalida della richiesta di pull o di unione utilizza una pipeline di richiesta di pull specifica che riporta lo stato alla richiesta di pull. Questa funzione consente agli sviluppatori di trovare i problemi all'inizio del ciclo di sviluppo.
  • L'integrazione si ottiene utilizzando una pipeline di integrazione continua che implementa molti controlli pronti all'uso e raccoglie prove normalizzate per queste integrazioni in un repository di prove (repo). Scrive anche i metadati sulle risorse da distribuire in un repository di inventario delle risorse utente, che abilita le pratiche GitOps.
  • La consegna viene eseguita utilizzando una pipeline di distribuzione continua per elaborare il contenuto dall'inventario delle risorse utente e raccogliere le prove per generare una richiesta di modifica per ciascuna distribuzione. Può anche registrare i fatti di conformità in Security and Compliance Centere questi fatti possono essere valutati rispetto ad un profilo di conformità.

Come parte di una distribuzione di staging di distribuzione continua, le pipeline di integrazione continua generalmente emettono al ramo master dell'inventario utilizzando le richieste di pull per promuovere le modifiche a un ramo di staging. Quindi, quando si è pronti, le modifiche vengono promosse di nuovo dallo staging alla produzione con una successiva promozione del ramo. Per guidare una distribuzione di release coordinata, puoi avere più pipeline di distribuzione continua che emettono in un repository di prove e inventario condiviso.

Viene creata una sola richiesta di modifica quando vengono promosse più risorse utente in tale inventario.

Puoi avere più pipeline di distribuzione continue che estraggono da un repository di prove e un inventario condiviso, che consentono a più ambienti di essere indirizzati dallo stesso input di integrazione continua.