Entendendo os scripts comuns em DevSecOps

No DevSecOps, alguns estágios executam scripts padrão se não forem especificados no arquivo YAML de configuração. Esses scripts padrão fazem parte de uma biblioteca de scripts comuns, que fornece um conjunto de scripts reutilizáveis que podem ser usados como ponto de partida para a personalização da configuração do pipeline.

Biblioteca de scripts do Commons

  • A biblioteca de scripts do commons é uma coleção de scripts reutilizáveis que podem ser usados nos pipelines DevSecOps.
  • Os scripts e as funções dessa biblioteca de scripts comuns podem ser usados para personalizar a configuração do pipeline a fim de atender aos seus requisitos específicos de pipeline.

Consulte a documentação da biblioteca de scripts do Commons para saber mais sobre a biblioteca de scripts do Commons e seu uso.

Exibição de scripts padrão

Para visualizar o script padrão em execução em um estágio, examine os logs desse estágio. Por exemplo, no estágio " 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"

Essa mensagem tem três partes:

  1. A primeira linha mostra o script exato URL em execução no momento, apontando para ele em um nível de confirmação.

  2. A segunda parte é uma lista de caminhos, repositórios e hashes de confirmação que são importados para a imagem de base do pipeline durante a compilação. Eles não são extraídos desses repositórios em tempo de execução. Essas informações melhoram o rastreamento público do que exatamente está incluído no pipeline.

  3. A terceira parte é a configuração padrão que é usada como YAML de configuração. Você pode pegar esse trecho de YAML e incluí-lo em seu arquivo YAML de configuração DevSecOps. Essa ação substitui a configuração padrão pela sua, mas ainda usa o script padrão da imagem de base. Esse método é útil se você quiser implementar algumas outras verificações antes das verificações padrão.

Essas informações são exibidas para ajudar os adotantes a identificar o script e a função da biblioteca de scripts comuns que estão sendo executados nos estágios por padrão. Eventualmente, eles podem inspecionar os scripts, entender o que eles fazem, copiar o script em sua coleção de scripts e atualizá-los para que se ajustem aos seus casos de uso.

Personalização usando a biblioteca de scripts do Commons

A biblioteca comum também pode servir como uma fonte para copiar o código e personalizá-lo para casos específicos. Use a biblioteca como ponto de partida para criar scripts personalizados de acordo com vários requisitos.

Consulte aqui para saber mais sobre a personalização do pipeline

Melhores práticas

  • Use a biblioteca comum como referência para a mecânica de pipeline.
  • Personalize os scripts padrão para atender a casos de borda específicos.
  • Use o script ' collect-evidence para coletar evidências em scripts personalizados.