常见问题解答 DevSecOps

获取有关使用 DevSecOps 的常见问题的答案。

CI 和 CC 管道有什么区别?

您可能会注意到,CI 和 CC 管道有共同的步骤。 所进行的扫描和检查在性质和细节上都大同小异。 下表列出了 CI 和 CC 管道之间的区别。

CI 和 CC 管道的区别
CI 管道 CC 管道
它是 CI 工具链的一部分。 它是 CC 工具链的一部分。
它在合并请求与 master 分支合并后触发 它可以手动触发,也可以按预定的时间间隔触发,与部署计划无关。
在设置过程中,需要输入应用程序 URL 和应用程序代码库的详细信息。 在配置CC工具链之后,在首次启动流水线运行之前,将提供应用程序 URL 和应用程序代码仓库的详细信息。
在合规性检查过程中,作为各种扫描和检查的一部分而产生的事件问题没有截止日期。 在合规性检查过程中,作为各种扫描和检查的一部分而创建的事件问题都有一个到期日。
所产生的事件问题是在构建过程中发现的。 创建的事件问题是在对暂存或生产环境进行定期扫描时发现的。
summary.json 文件不会在每次 CI 管道运行结束时生成。 summary.json 文件不会在每次 CI 管道运行结束时生成。
它包括应用程序构件创建、构件签名和部署到开发集群等步骤。 这反过来又为 CD 管道提供了输入。 它只运行合规性测试所需的扫描和检查。

用户如何定制管道?

管道可通过使用自定义脚本进行定制。 自定义脚本是管道中的扩展点,采用者、团队和用户可在此提供脚本,为其 CI/CD 策略运行自定义任务。

自定义脚本可控制管道的各个阶段。 您可以使用配置文件 (pipeline-config.yaml) 来配置阶段行为、脚本内容和运行脚本的基础工具。 管道阶段的脚本和配置从类似于 .travis.ymlJenkinsfile 的应用程序资源库或自定义资源库加载。

有关更多信息,请参阅 使用自定义脚本自定义管道

针对 s390x 和 Power 平台限制的多操作系统映像

One-Pipeline 在 one-pipeline 配置文件中使用 runtimeClassName (表示运行时配置文件的字符串)为 s390x 和 Power 平台提供本地支持。 不过,这种本地支持也有一些 限制和建议:

  • 限制:
    • 此功能仅在 v11 中可用。
    • pod 的启动时间高于 x86 运行时类。
    • 您必须在 s390x 或 Power 工作负载中使用 podmanDocker 是不可用的
      • 用户脚本需要更新,以便使用 podman 命令而不是 docker 命令
      • 舞台镜像应安装 podman。
  • 建议:使用 x86 运行时类进行
    • 扫描,因为各种扫描工具的图像可能都不支持多层结构。
    • 图像签名,因为不支持多操作系统(工作正在进行中)。

使用 CLI 触发流水线

可以使用 IBM Cloud CLI 或 API 触发管道。 使用 CLI,您可以通过提供工具链和管道 ID 来启动管道。 您可以使用应用程序接口发送带有正确验证和标头的 POST 请求,以触发管道。

更多信息,请参阅 使用触发器