设置 CD 工具链
通过本教程,您可以将工具链模板用于 Security and Compliance Center DevSecOps 中的持续部署 (CD) 相关实践。 模板已预先进行了设置。 您可以验证并提供您的配置,以完成教程。
准备工作
- 完成 设置先决条件。
- 完成 设置 CI 工具链。
- 在 IBM Cloud 中观看 开始使用 DevSecOps- 第 2 部分 视频。
- 请参考 DevSecOps 实践来部署安全的 CD 应用程序。
启动 CD 工具链设置
Continuous Delivery 服务提供了指导您完成 CD 工具链设置的模板。 按照以下步骤访问 CD 工具链模板。
- 从 IBM Cloud 控制台。
- 单击 Menu
,然后选择 DevOps。
- 在工具链页面,单击 创建工具链。
- 单击 CD - 使用 DevSecOps 实践部署安全应用程序磁贴查看模板。
设置工具链
欢迎页面概述了工具链的目的,以及指向文档和相关材料的指针。
-
单击启动。
-
输入唯一的 工具链名称。 注意,工具链区域可能与群集和 Container Registry区域不同。
-
选择区域和 选择资源组。 注意您可以编辑区域。
-
您还可以从下拉菜单中选择相关的持续集成 (CI) 工具链。 这将复制一些 CI 配置,以帮助设置 CD 工具链。 注意这可能会覆盖您已经输入的某些值。
-
单击继续。
仅当当前步骤的配置完成且有效时,才能前进到下一步。 您可以随时单击 Back 查看引导安装程序中的前几步。 工具链安装程序将保留后续步骤中的所有配置设置。
某些步骤包括 切换到高级配置切换按钮。 默认情况下,这些步骤将为您提供最低配置。 不过,需要更精细控制的高级用户可以单击 切换到高级配置切换按钮,显示底层集成的选项。
设置工具集成
如果已在步骤中链接到现有的 CI 工具链,则会预先填入工具链名称、区域、版本库和其他字段。 查看存储库 URL,然后继续执行后续步骤。
清单
- 选择 CI 工具链中配置的清单存储库的 Repository URL。
- 单击继续。
问题
- 选择 Repository URL 以在 CD 管道运行时记录问题。 注意您使用的是在 CI 工具链中创建的现有问题库。
- 单击继续。
管道配置
管道配置存储库包含部署,测试和其他定制任务所需的 YAML 文件和脚本。
-
接受 源提供程序的默认设置。
如果没有配置存储库,请启用 高级配置切换,并选择 克隆存储库类型。 工具链会克隆Git组织中的 示例配置。 有关 Git repos 的更多信息,请参阅 配置您的 Git Repos and Issue Tracking。 有关自定义脚本的更多信息,请参阅 自定义脚本。
-
输入唯一的 新版本库名称。
-
单击继续。
密钥
- 本教程使用 IBM Cloud® Secrets Manager 作为秘密库。 地区、资源组和服务名称字段将根据可用选择自动填充。 单击下拉指示器查看其他选择。
- 键入 Secrets Manager 实例名称。
- 从下拉列表中选择 授权类型。
- 单击继续。
证据存储
- 选择 使用现有证据锁存储库。
- 选择在配置持续集成 (CI) 工具链时创建的 Repository URL。 有关证据存储的更多信息,请参阅 证据。
- 切换 IBM Cloud Object Storage 邮筒滑块,将所有证据存储到 IBM Cloud Object Storage 邮筒中。
- 单击继续。
云 Object Storage 存储区
- 验证并接受自动填充的 IBM Cloud Object Storage 详细信息。 有关配置可用作合规证据保管箱的存储桶的更多信息,请参阅 Configuring Object Storage for storing evidence。
- 提供您的 Service API 密钥,以便写入 IBM Cloud Object Storage 实例。
- 单击继续。
文物签名
- 可选择输入 代码签名证书,以验证人工制品签名的有效性。 例如,Docker工件在部署到生产中之前,会由 CI 管道构建和签名。
- 单击继续。
部署目标
- 接受 单群集(基于推送的部署) 将应用程序部署到虚拟服务器实例等目标,或使用 Custom 选项自定义部署过程。
- 单击 Continue 查看群集页面。
- 输入 IBM Cloud API 密钥字段,以便在多项任务中与 CLI 工具交互。 注意单击密钥图标可从保密库导入现有密钥。
- 验证您的 集群区域、资源组、群组名称 和 集群命名空间 字段中创建的目标群集。
- 单击继续。
变更请求管理
- 接受已输入的更改申请管理值。 有关更多信息,请参阅 自动化变更管理。
- 输入唯一的 新版本库名称。
- 将 目标环境目的 设置为
Production
。 - 设置 目标环境详情。
- 单击继续。
DevOps Insights 工具链
使用 IBM Cloud托管的 Git Repos and Issue Tracking 存储库来管理变更请求。 有关更多信息,请参阅 自动化变更管理。
CD 工具链可将部署记录发布到现有的 DevOps Insights 实例。 要启用此功能,请在 DevOps Insights 工具链 ID 列表中选择包含现有 DevOps Insights 实例的工具链 ID。
IBM Cloud DevOps Insights 包含在工具链中。 从每个部署和环境中查看每次构建的管道测试结果。
- 提供您的 DevOps Insights IBM Cloud API 密钥。
- 接受默认配置。
- 单击继续。
可选工具
Slack
配置 Slack 以接收有关拉取请求或 CI 管道事件的通知。 您也可以在创建工具链后添加 Slack 工具。
- 输入您的 Slack 网络钩子。 有关更多信息,请参阅 Slack webhook。
- 输入您的黑客频道来发布消息。
- 输入空白队名。 例如,如果您的团队 URL 是
https://team.slack.com
,团队名称就是team
。 - 为希望接收通知的事件选择 Automated Slack Notifications。
- 单击继续。
您还可以选择在 CD 管道中使用 slack-notifications
环境属性,通过 0 = off, and 1 = on
切换发送通知。
Security and Compliance Center
- 接受或编辑自动填充的设置。 有关详细信息,请参阅 Security and Compliance Center 和 工具集成 配置流程。
- 单击 Continue 查看摘要页面。
创建 CD 工具链
各个工具链集成可在管道创建后进行配置。
- 在摘要页面,单击 创建工具链,然后等待工具链被创建。

浏览 CD 工具链
- 现在 CD 工具链已创建,单击 cd-pipeline 磁贴打开并运行推广管道。
运行推广管道
在运行推广管道之前,请确保 CI 管道 已成功运行。
-
单击 cd-管道。
-
单击 运行****手动促销触发器管道。
-
单击 Run 以触发管道。
-
单击 手动促销触发器 >
#1promotion-pipelinerun
管道。 等待推广管道运行完成并检查执行日志。推广管道会创建一个拉取请求,其中包含库存源环境(如
master
分支)上的库存内容,目标是库存目标环境(如staging
或production
分支)。 -
推广管道成功完成后,
promote
任务日志会提供一个链接,指向清单存储库中的拉取请求。 拉取请求名称的格式为promote <inventory source environment> to <inventory target environment>
,例如promote master to prod
-
使用日志中提供的链接在浏览器中打开拉取请求。 填写以下部分的详细信息:
- 优先级:(必须)设置为
Critical
、High
、Moderate
、Low
或Planning
。 - 更改请求受让人:(必填)受让人的
Email-ID
。 - 附加说明:有关应用程序更改的说明。
- 目的/目标:对应用程序进行更改的目的。
- Impact 说明: 更改对应用程序行为或环境的影响。
- 回退计划: 发生部署故障时回退的步骤。
- 优先级:(必须)设置为
-
填写 Pull Request 和 save 中的字段。
-
如果 CI 中的任何合规性检查失败,而您又想 继续部署,请将
EMERGENCY
标签添加到您的拉取请求中 -
合并来自 Git Repos and Issue Tracking的拉取请求。
拉取请求的详细信息会在运行 CD 管道时使用,以在变更请求库中创建和更新。
运行 CD 管道
您可以通过手动或自动方式触发 CD 管道。 您可以随时手动触发 CD 管道,但如果上次成功部署后没有任何更改,CD 管道就会提前停止,因为没有任何东西要部署。 您可以添加并使用 force-redeploy
变量 在不进行代码更改的情况下重新运行 CD。 查看 DevSecOps
CD 管道的成功屏幕截图。

您可以找到在生产命名空间上运行的示例应用程序。 可在 CD 管道运行的 run stage
子步骤的 prod deployment
步骤日志中找到应用程序 URL。 使用该 URL 验证应用程序是否正在运行。
后续步骤
您成功创建了 DevSecOps CD 工具链,运行了 cd-pipeline
以在生产环境中手动触发。
现在,继续 设置 CC 工具链。