第 3 部分:设置 CD 工具链

通过本教程,您可以将工具链模板用于 Security and Compliance Center DevSecOps 中的持续部署 (CD) 相关实践。 模板已预先进行了设置。 您可以验证并提供您的配置,以完成教程。

准备工作

  1. 完成 设置先决条件
  2. 完成 设置 CI 工具链
  3. 观看以下视频:

  1. 请参考 DevSecOps 实践来部署安全的 CD 应用程序

启动 CD 工具链设置

Continuous Delivery 服务提供了指导您完成 CD 工具链设置的模板。 按照以下步骤访问 CD 工具链模板。

  1. IBM Cloud控制台,单击菜单图标菜单图标>平台自动化>工具链
  2. 在工具链页面,单击 创建工具链
  3. 单击 CD - 使用 DevSecOps 实践部署安全应用程序磁贴查看模板。

设置工具链

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

  1. 单击启动

  2. 输入唯一的工具链名称注意,工具链区域可能与群集和 Container Registry区域不同。

  3. 选择区域选择资源组注意您可以编辑区域。

  4. 您还可以从下拉菜单中选择相关的持续集成 (CI) 工具链。 这将复制一些 CI 配置,以帮助设置 CD 工具链。 注意这可能会覆盖您已经输入的某些值。

  5. 单击继续

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

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

设置工具集成

如果已在步骤中链接到现有的 CI 工具链,则会预先填入工具链名称、区域、版本库和其他字段。 查看存储库 URL,然后继续执行后续步骤。

清单

  1. 选择CI工具链中配置的库存库的存储库 URL
  2. 单击继续

问题

  1. 选择存储库 URL,以便在CD流水线运行时记录问题。 注意您使用的是在 CI 工具链中创建的现有问题库。
  2. 单击继续

管道配置

管道配置资源库包含部署、测试和其他自定义任务所需的 YAML 文件和脚本。

  1. 接受 源提供程序的默认设置。

    如果您没有配置库,请启用 高级配置 开关,然后选择 克隆存储库 类型。 工具链会克隆Git组织中的 示例配置。 有关 Git repos 的更多信息,请参阅 配置您的 Git Repos and Issue Tracking。 有关自定义脚本的更多信息,请参阅 自定义脚本

  2. 输入唯一的 新版本库名称

  3. 单击继续

密钥

  1. 本教程使用 IBM Cloud® Secrets Manager 作为秘密库。 地区资源组服务名称字段将根据可用选择自动填充。 单击下拉指示器查看其他选择。
  2. 键入 Secrets Manager 实例名称
  3. 从下拉列表中选择授权类型
  4. 单击继续

证据存储

  1. 选择 使用现有证据锁存储库
  2. 选择配置持续集成(CI)工具链时创建的存储库 URL。 有关证据存储的更多信息,请参阅 证据
  3. 切换 IBM Cloud Object Storage 邮筒滑块,将所有证据存储到 IBM Cloud Object Storage 邮筒中。
  4. 单击继续

云 Object Storage 存储区

  1. 验证并接受自动填充的 IBM Cloud Object Storage 详细信息。 有关配置可用作合规证据保管箱的存储桶的更多信息,请参阅 Configuring Object Storage for storing evidence
  2. 提供您的 Service API 密钥,以便写入 IBM Cloud Object Storage 实例
  3. 单击继续

文物签名

  1. 可选择输入 代码签名证书,以验证人工制品签名的有效性。 例如,Docker工件在部署到生产中之前,会由 CI 管道构建和签名。
  2. 单击继续

部署目标

  1. 接受 单群集(基于推送的部署) 将应用程序部署到虚拟服务器实例等目标,或使用 Custom 选项自定义部署过程。
  2. 单击 Continue 查看群集页面。
  3. 输入 IBM Cloud API 密钥字段,以便在多项任务中与 CLI 工具交互。 注意单击密钥图标可从保密库导入现有密钥。
  4. 验证您的 群集区域资源组群集名称群集名称空间字段,在此创建目标群集。
  5. 单击继续

变更请求管理

  1. 接受已输入的更改申请管理值。 有关更多信息,请参阅 自动化变更管理
  2. 输入唯一的 新版本库名称
  3. 目标环境目的 设置为 Production
  4. 设置 目标环境详情
  5. 单击继续

DevOps Insights 工具链

将现有的 DevOps Insights 实例从另一个工具链链接到此管道,这样 CI 和 CD 工具链管道中的所有构建、部署和测试记录都能收集到同一个地方。

CD 工具链可将部署记录发布到现有的 DevOps Insights 实例。 要启用此功能,请在 DevOps Insights 工具链 ID 列表中选择包含现有 DevOps Insights 实例的工具链 ID。

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

  1. 提供您的 DevOps Insights IBM Cloud API 密钥
  2. 接受默认配置。
  3. 单击继续

可选工具

Slack

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

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

此外,您还可以在 CD 管道中使用 0 = off, and 1 = on 来切换 slack-notifications 环境属性发送通知。

Security and Compliance Center

  1. 接受或编辑自动填充的设置。 有关详细信息,请参阅 Security and Compliance Center工具集成 配置流程。
  2. 单击 Continue 查看摘要页面。

创建 CD 工具链

各个工具链集成可在管道创建后进行配置。

  1. 在摘要页面,单击 创建工具链,然后等待工具链被创建。

创建了 CD 工具链 "DevSecOps创建了 CD 工具链 "
创建了 DevSecOps CD 工具链 "

浏览 CD 工具链

  1. 现在 CD 工具链已创建,单击 cd-pipeline 磁贴打开并运行推广管道。

运行推广管道

在运行推广管道之前,请确保 CI 管道 已成功运行。

  1. 单击 cd-管道

  2. 单击 运行****手动促销触发器管道。

  3. 单击运行触发管道。

  4. 单击 手动促销触发器 > #1promotion-pipelinerun 管道。 等待推广管道运行完成并检查执行日志。

    推广管道会创建一个拉取请求,其中包含库存源环境(如 master 分支)上的库存内容,目标是库存目标环境(如 stagingproduction 分支)。

  5. 推广管道成功完成后,promote 任务日志会提供一个链接,指向清单存储库中的拉取请求。 拉取请求名称的格式为 promote <inventory source environment> to <inventory target environment>,例如 promote master to prod

  6. 使用日志中提供的链接在浏览器中打开拉取请求。 填写以下部分的详细信息:

    • 优先级:(必须)设置为 CriticalHighModerateLowPlanning
    • 更改请求受让人:(必填)受让人的 Email-ID
    • 附加说明:有关应用程序更改的说明。
    • 目的/目标:对应用程序进行更改的目的。
    • 影响说明:更改对应用程序行为或环境的影响。
    • 退出计划:部署失败时的退出步骤。
  7. 完成 拉取请求保存中的字段。

  8. 如果 CI 中的任何合规性检查失败,而您又想 继续部署,请将 EMERGENCY 标签添加到您的拉取请求中

  9. 合并来自 Git Repos and Issue Tracking的拉取请求。

拉取请求的详细信息会在运行 CD 管道时使用,以在变更请求库中创建和更新。

运行光盘管道

您可以通过手动或自动方式触发 CD 管道。 您可以随时手动触发 CD 管道,但如果上次成功部署后没有任何更改,CD 管道就会提前停止,因为没有任何东西要部署。 您可以添加并使用 force-redeploy 变量 在不进行代码更改的情况下重新运行 CD。 查看 DevSecOps CD 管道的成功屏幕截图。

DevSecOpsCD 管道成功
DevSecOps CD 管道成功
DevSecOps CD 管道成功

您可以找到在生产命名空间上运行的示例应用程序。 应用程序 URL 可在CD流水线运行的 prod deployment 步骤的 run stage 子步骤日志中找到。 请使用 URL 验证应用程序是否正在运行。

后续步骤

您成功创建了 DevSecOps CD 工具链,运行了 cd-pipeline 以在生产环境中手动触发。

现在,继续 设置 CC 工具链