了解DevSecOps中的 Commons 脚本
在 "DevSecOps,中,如果配置 YAML 文件中没有指定脚本,某些阶段会运行默认脚本。 这些默认脚本是共用脚本库的一部分,共用脚本库提供了一组可重复使用的脚本,可作为自定义管道配置的起点。
公共图书馆脚本库
- Commons 脚本库收集了可在DevSecOps管道中使用的可重用脚本。
- 该共用脚本库中的脚本和函数可用于自定义管道配置,以满足您的特定管道要求。
有关 commons 脚本库及其用法的更多信息,请参阅 Commons 脚本库 文档。
查看默认脚本
要查看某个阶段中运行的默认脚本,请检查该阶段的日志。 例如,在 "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"
这条信息分为三个部分:
-
第一行显示了当前运行的 URL 脚本的准确内容,并指出其提交级别。
-
第二部分是路径、版本库和提交哈希值的列表,这些内容会在构建过程中导入到管道基本映像中。 在运行时,它们不会从这些软件仓库中提取。 这些信息提高了公众对管道中具体内容的可追溯性。
-
第三部分是默认配置,用作配置 YAML。 您可以将此 YAML 代码段添加到您的DevSecOps配置 YAML 文件中。 此操作会用你的配置覆盖默认配置,但仍会使用基础镜像中的默认脚本。 如果您想在默认检查之前执行其他检查,这种方法会很有用。
显示这些信息是为了帮助采用者从 commons 脚本库中 识别默认分阶段运行的脚本和函数。 最终,他们可以检查脚本,了解脚本的作用,将脚本复制到自己的脚本集合中,并根据自己的使用情况进行更新。
使用共享资源脚本库进行自定义
共用库还可以作为一个源代码,用于复制代码并针对特定的边缘情况进行定制。 以库为起点,根据各种要求创建自定义脚本。
点击此处 了解管道定制的更多信息
最佳实践
- 将公共图书馆作为管道力学的参考资料。
- 自定义默认脚本,以满足特定的边缘情况。
- 使用 "
collect-evidence脚本在自定义脚本中收集证据。