Comprendere gli script Commons in DevSecOps

In DevSecOps, alcune fasi eseguono script predefiniti se non sono specificati nel file YAML di configurazione. Questi script predefiniti fanno parte di una libreria di script commons, che fornisce un insieme di script riutilizzabili che possono essere usati come punto di partenza per la personalizzazione della configurazione della pipeline.

Biblioteca degli script di Commons

  • La libreria di script commons è una raccolta di script riutilizzabili che possono essere utilizzati nelle pipeline DevSecOps.
  • Gli script e le funzioni di questa libreria di script commons possono essere utilizzati per personalizzare la configurazione della pipeline in modo da soddisfare i requisiti specifici della pipeline.

Fare riferimento al " Documentazione della libreria Commons Scripts per saperne di più sulla libreria degli script di Commons e sul suo utilizzo.

Visualizzazione degli script predefiniti

Per visualizzare lo script predefinito in esecuzione in uno stage, esaminare i log di quello stage. Ad esempio, nella fase " scan-artifact:

=== Executing custom script for stage 'scan-artifact' ===

The custom script can be viewed using the following link: '<SCRIPT URL>'

You can customize this stage in your pipeline config. For more information, see [Custom scripts](/docs/devsecops?topic=devsecops-cd-devsecops-pipelines-custom-customize).

The script(s) used in this stage can be found at the following location(s):

- path: scan-artifact
  repo: <REPO URL>
  sha: b0fff29d715e0f9a33b3c84e649777cfb9d40738
- path: icr-va
  repo: <REPO URL>
  sha: de693814ba2bd992941b432fc71111efb54e2b27

Using the following defaults for stage "scan-artifact":

scan-artifact:
  image: icr.io/continuous-delivery/pipeline/pipeline-base-image:2.12@sha256:ff4053b0bca784d6d105fee1d008cfb20db206011453071e86b69ca3fde706a4
  dind: false
  abort_on_failure: false
  image_pull_policy: IfNotPresent
  script: |
    #!/bin/sh

    "/opt/commons/scan-artifact/scan.sh"

Questo messaggio si articola in tre parti:

  1. La prima riga mostra l'esatto script che l' URL e sta eseguendo, puntandolo a un livello di commit.

  2. La seconda parte è un elenco di percorsi, repo e hash di commit che vengono importati nell'immagine base della pipeline durante la compilazione. Non vengono estratti da questi repository in fase di esecuzione. Queste informazioni migliorano la tracciabilità pubblica di ciò che è esattamente incluso nella pipeline.

  3. La terza parte è la configurazione predefinita, usata come config YAML. È possibile prendere questo frammento YAML e includerlo nel file YAML di configurazione di DevSecOps. Questa azione sovrascrive la configurazione predefinita con la propria, ma utilizza ancora lo script predefinito dell'immagine di base. Questo metodo è utile se si vogliono implementare altri controlli prima di quelli predefiniti.

Queste informazioni vengono visualizzate per aiutare gli adottanti a identificare lo script e la funzione della libreria di script di Commons che vengono eseguiti in fasi predefinite. Alla fine, possono ispezionare gli script, capire cosa fanno, copiare gli script nella loro raccolta di script e aggiornarli per adattarli ai loro casi d'uso.

Personalizzazione con la libreria Commons Scripts

La libreria commons può anche servire come fonte da cui copiare il codice e personalizzarlo per casi specifici. Utilizzate la libreria come punto di partenza per creare script personalizzati in base ai vari requisiti.

Fare riferimento qui per saperne di più sulla personalizzazione della pipeline

Procedure consigliate

  • Utilizzate la libreria Commons come riferimento per la meccanica delle condutture.
  • Personalizzare gli script predefiniti per soddisfare casi specifici.
  • Utilizzare lo script 'collect-evidence per raccogliere prove negli script personalizzati.