Comprender los scripts de Commons en DevSecOps
En DevSecOps, algunas etapas ejecutan scripts predeterminados si no se especifican en el archivo YAML de configuración. Estas secuencias de comandos predeterminadas forman parte de una biblioteca de secuencias de comandos comunes, que proporciona un conjunto de secuencias de comandos reutilizables que pueden utilizarse como punto de partida para la personalización de la configuración de la canalización.
Biblioteca de guiones comunes
- La biblioteca de scripts de commons es una colección de scripts reutilizables que pueden usarse en los pipelines DevSecOps.
- Los scripts y funciones de esta biblioteca de scripts de commons pueden utilizarse para personalizar la configuración de la canalización con el fin de satisfacer sus requisitos específicos.
Consulte la documentación de la biblioteca de scripts de Commons para obtener más información sobre la biblioteca de scripts de Commons y su uso.
Visualización de scripts por defecto
Para ver el script por defecto que se ejecuta en una etapa, examine los registros de esa etapa. Por ejemplo, en la etapa " 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"
Este mensaje consta de tres partes:
-
La primera línea muestra la secuencia de comandos exacta que se está ejecutando actualmente en URL, señalándola en un nivel de confirmación.
-
La segunda parte es una lista de rutas, repositorios y hashes de confirmación que se importan a la imagen base del canal durante la compilación. No se extraen de estos repos en tiempo de ejecución. Esta información mejora la trazabilidad pública de lo que se incluye exactamente en la tubería.
-
La tercera parte es la configuración por defecto que se utiliza como config YAML. Puede tomar este fragmento de YAML e incluirlo en su archivo YAML de configuración DevSecOps. Esta acción sustituye la configuración predeterminada por la suya, pero sigue utilizando el script predeterminado de la imagen base. Este método es útil si desea implementar algunas otras comprobaciones antes de las predeterminadas.
Esta información se muestra para ayudar a los adoptantes a identificar el script y la función de la biblioteca de scripts de commons que se ejecutan en etapas por defecto. Con el tiempo, pueden inspeccionar los scripts, comprender lo que hacen, copiar el script en su colección de scripts y actualizarlos para adaptarlos a sus casos de uso.
Personalización mediante la biblioteca Commons Scripts
La biblioteca común también puede servir como fuente para copiar código y personalizarlo para casos extremos específicos. Utilice la biblioteca como punto de partida para crear guiones personalizados en función de diversos requisitos.
Consulte aquí más información sobre la personalización de canalizaciones
Prácticas recomendadas
- Utilice la biblioteca común como referencia para la mecánica de tuberías.
- Personalice las secuencias de comandos predeterminadas para satisfacer casos extremos específicos.
- Utilice el script '
collect-evidence' para recoger pruebas en scripts personalizados.