IBM Cloud Docs
设置 CI 工具链

设置 CI 工具链

本教程将指导您如何在 Security and Compliance Center DevSecOps 中将工具链模板用于持续集成 (CI) 的相关实践。 该模板已为持续部署 (CD) 进行了预配置,包括库存集成、使用 Git Repos and Issue Tracking 进行变更管理、证据收集以及部署到 IBM Cloud Kubernetes Service。

您可以为企业中的账户定制并集中管理 IAM 设置,以符合合规性和内部标准。

准备工作

  1. 完成 设置先决条件 教程。
  2. 观看 在 IBM Cloud 中开始使用 DevSecOps 视频。

启动 CI 工具链设置

Continuous Delivery服务提供的模板可引导您完成工具链设置,并按逻辑顺序创建流程。 进度指示器显示完成配置的步骤。 按照以下步骤访问 CI 工具链模板。

  1. 在 IBM Cloud 控制台中,单击 Menu Menu 图标,然后选择 DevOps
  2. 在工具链页面,单击 创建工具链
  3. 单击 CI - 使用 DevSecOps 实践开发安全应用程序磁贴。

设置 CI 工具链设置

欢迎页面概述了工具链的目的,以及指向文档和相关材料的指针。

  1. 单击启动

  2. 在 IBM Cloud 中为同一区域和资源组输入工具链中唯一的 工具链名称

  3. 选择区域

  4. 选择资源组

  5. 单击继续

    仅当当前步骤的配置完成且有效时,才能前进到下一步。 您可以随时单击 Back 查看引导安装程序中的前几步。 工具链安装程序将保留后续步骤中的所有配置设置。

某些步骤包括 切换到高级配置切换按钮。 默认情况下,这些步骤将为您提供最低配置。 不过,需要更精细控制的高级用户可以单击 切换到高级配置切换按钮,显示底层集成的选项。

设置 CI 工具集成

查看默认设置,并在必要时提供用户自定义配置,以设置 CI 工具集成。

应用程序

  1. 选择 Source Provider as Git Repos and Issue Tracking.
  2. 工具链的默认行为是 使用默认示例应用程序。 该工具链目前仅支持链接到现有的 Git Repos and Issue Tracking 资源库。 有关 将您自己的应用程序的更多信息,请参阅 将您自己的应用程序引入 DevSecOps
  3. 新版本库名称输入唯一名称。
  4. 单击继续

清单

库存存储库记录由 CI 工具链构建的工件的详细信息。

  1. 您可以接受模板中提供的默认配置,也可以根据自己的要求编辑配置。
  2. 单击继续

问题

问题存储库记录在 CI 管道运行时发现的问题。

  1. 您可以接受模板中提供的默认配置,也可以根据自己的要求编辑配置。
  2. 单击 继续

密钥

使用切换键指定要添加到工具链的秘密保管库集成。 有关更多信息,请参阅 管理 IBM Cloud 秘密

CI 工具链仅支持 任意私钥IAM 凭证 私钥类型。

  1. 本教程使用 IBM Cloud® Secrets Manager 作为私钥的保险库文件。 将根据可用选项自动填充 区域资源组服务名称 字段。 选择下拉指标,查看其他选择。
  2. 输入您的 Secrets Manager 实例名称
  3. 选择 授权类型
  4. 单击继续

证据存储

证据库存储 DevSecOps CI 管道生成的所有证据和工件。

  1. 切换 IBM Cloud Object Storage 邮筒滑块,将所有证据存储到 IBM Cloud Object Storage 邮筒中,可在下一页进行配置。
  2. 接受默认设置。
  3. 单击继续

云 Object Storage 存储区

您必须拥有 IBM Cloud® Object Storage 实例Cloud Object Storage 邮筒,才能充当合规证据保管箱。

  1. Cloud Object Storage 实例Bucket 名称Cloud Object Storage 端点字段将自动填充。
  2. 输入您的 Service ID API 密钥
    • 首选: 可以通过单击密钥图标从密钥保险库导入现有密钥。
    • 可复制和粘贴现有密钥。
  3. 单击继续

端点字段为可选项。 建议在工具链设置期间或管道运行期间选择或提供端点。

部署

配置部署应用程序的目标 Kubernetes 集群。

  1. 使用默认 应用程序名称 hello-compliance-app

  2. 键入您的 IBM Cloud API 密钥。 API 密钥用于在多项任务中与 IBM Cloud CLI 工具交互。

    • 首选: 可以通过单击密钥图标从密钥保险库导入现有密钥。
    • 可复制和粘贴现有密钥。
    • 可通过单击 新建 + 从此处创建新密钥。

    可以将新生成的 API 密钥立即保存到私钥保险库。

  3. 如果 API 密钥有效且有足够的访问权限,Container Registry, Container Registry 命名空间开发集群区域资源组集群名称集群命名空间已自动填充。 您可以更改其中任何字段,以符合您的配置。

  4. 单击继续

神器签名

由工具链构建并记录在清单中的工件在部署到生产环境之前必须签名。

  1. 输入 GnuPG 专用密钥。 或者,您也可以单击 NEW 创建一个新的 GPG 密钥。 有关详细信息,请参阅 生成 GPG 密钥
  2. 单击继续

DevOps Insights

IBM Cloud DevOps Insights 包含在工具链中。 查看每个部署和环境中每个构建的管道测试结果。

  1. 接受默认配置。
  2. 单击继续

SonarQube

配置 SonarQube 为工具链的静态代码分析工具。 SonarQube 提供了源代码总体运行状况和质量的概述,并重点阐述了在新代码中发现的问题。 静态代码分析器可检测多种编程语言的棘手错误,如空指针取消引用、逻辑错误和资源泄漏。

  1. 接受 默认配置
  2. 单击继续

可选工具

Slack

配置 Slack 以接收有关您的拉取请求或 CI 管道事件的通知。 您也可以在创建工具链后添加 Slack 工具。

  1. 输入您的 Slack 网络钩子。 有关更多信息,请参阅 Slack webhook
  2. 输入您的黑客频道来发布消息。
  3. 输入空白队名。 例如,如果您的团队 URL https://team.slack.com,团队名称就是 team
  4. 选择要为 Automated Slack Notifications 接收通知的事件。
  5. 单击继续

创建 CI 工具链

  1. 在摘要页面,单击 创建工具链
  2. 等待工具链创建。 这可能需要几分钟时间。

浏览 CI 工具链

CI 工具链包含 ci-pr-pipeline (PR)ci-pipeline (CI)。 这些管道会在新的合并请求提交或合并到应用程序版本库的主版本时触发。

请按照以下步骤访问您的工具链:

  1. 在 IBM Cloud 控制台中,单击 Menu Menu 图标,然后选择 DevOps
  2. 在工具链页面,单击 创建工具链
  3. 点击工具链,查看输出结果,如下图所示。

DevSecOps CI 工具链
图 1。 DevSecOps CI 工具链

运行 ci-pr 管道

要启动 ci-pr pipeline,您需要在应用程序存储库中创建一个合并请求。

  1. 从 CI 工具链页面,单击 ci-pr pipeline 磁贴。 默认情况下,创建的名称为 compliance-app-<timestamp>

  2. 从主分支创建分支

  3. 更新应用程序中的代码或添加自述文件,并保存更改。

  4. 单击提交 合并请求

  5. 在 CI 工具链页面上,单击 pr-pipeline 磁贴。 验证合并请求的创建是否触发了 ci-pr pipeline

  6. 等待 ci-pr pipeline 运行完成。 应用程序版本库中的相应合并请求处于 Pending 状态,直到 PR 管道的所有阶段都成功完成。

  7. PR 管道运行成功后,单击管道可查看已完成的众多步骤并查看页面。

    DevSecOps 公关管道成功
    图 2。 DevSecOps 公关管道成功

  8. 访问合并请求以合并请求,从而将您的更改复制到应用程序版本库的主分支。

运行 CI 管道

通过下列其中一种方式启动 CI 管道:

  • 自动:在 PR 管道成功后,批准 PR 并将其合并到主分支。
  • 手动:要手动触发 CI 管道,请选择 Delivery Pipeline 卡,单击 Run Pipeline,然后选择 Manual Trigger

在本教程中,CI 管道是在您将代码更改合并到应用程序版本库的主分支后触发的。

  1. 在“CI 工具链”页面上,单击 ci-pipeline 磁贴。

  2. 针对管道名称单击 Run。 观察管道运行情况。 等待管道运行完成。

  3. CI 管道运行成功后,单击管道探索已完成的步骤,查看页面,如屏幕截图所示。

    DevSecOps CI 管道成功
    图 3。 DevSecOps CI 管道

  4. 单击 DevOps Insights 磁贴,在 Quality Dashboard 页面上查看收集的证据,如屏幕截图所示。

    DevSecOps CI 证据
    图 4。 DevSecOps CI 证据

    如果在设置过程中启用了 IBM Cloud Object Storage 桶,您还可以查看证据。 要评估管道运行中是否有任何故障,您需要检查管道的最后一个步骤,该步骤具有管道评估程序。

查看正在运行的应用程序

成功运行 CI 管道后,样本应用程序将部署在 Kubernetes 集群上。

应用程序 URL 可在 CI 管道运行的 run stagedeploy-dev 任务的日志末尾找到。 使用该 URL 验证应用程序是否正在运行。

管道定制

参考持续集成和持续部署工具链中提供的各种管道都基于对 Tekton 管道的 Continuous Delivery 支持。 有关管道自定义的更多信息,请参阅 用户如何自定义管道

后续步骤

您成功创建了 DevSecOps CI 工具链,运行了 ci-pr pipelineci-pipeline 以构建、测试并将更改部署到开发环境。 现在,您可以探索 设置 CD 工具链