第 3 部分:设置 CD 工具链
通过本教程,您可以将工具链模板用于 Security and Compliance Center DevSecOps 中的持续部署 (CD) 相关实践。 模板已预先进行了设置。 您可以验证并提供您的配置,以完成教程。
准备工作
启动 CD 工具链设置
Continuous Delivery 服务提供了指导您完成 CD 工具链设置的模板。 按照以下步骤访问 CD 工具链模板。
- 从 IBM Cloud控制台,单击菜单图标
>平台自动化>工具链。
- 在工具链页面,单击 创建工具链。
- 单击 CD - 使用 DevSecOps 实践部署安全应用程序磁贴查看模板。
设置工具链
欢迎页面概述了工具链的目的,以及指向文档和相关材料的指针。
-
单击启动。
-
输入唯一的工具链名称。 注意,工具链区域可能与群集和 Container Registry区域不同。
-
选择区域和 选择资源组。 注意您可以编辑区域。
-
您还可以从下拉菜单中选择相关的持续集成 (CI) 工具链。 这将复制一些 CI 配置,以帮助设置 CD 工具链。 注意这可能会覆盖您已经输入的某些值。
-
单击继续。
仅当当前步骤的配置完成且有效时,才能前进到下一步。 您可以随时单击 Back 查看引导安装程序中的前几步。 工具链安装程序将保留后续步骤中的所有配置设置。
某些步骤包括 切换到高级配置切换按钮。 默认情况下,这些步骤将为您提供最低配置。 不过,需要更精细控制的高级用户可以单击 切换到高级配置切换按钮,显示底层集成的选项。
设置工具集成
如果已在步骤中链接到现有的 CI 工具链,则会预先填入工具链名称、区域、版本库和其他字段。 查看存储库 URL,然后继续执行后续步骤。
清单
- 选择CI工具链中配置的库存库的存储库 URL。
- 单击继续。
问题
- 选择存储库 URL,以便在CD流水线运行时记录问题。 注意您使用的是在 CI 工具链中创建的现有问题库。
- 单击继续。
管道配置
管道配置资源库包含部署、测试和其他自定义任务所需的 YAML 文件和脚本。
-
接受 源提供程序的默认设置。
如果您没有配置库,请启用 高级配置 开关,然后选择 克隆存储库 类型。 工具链会克隆Git组织中的 示例配置。 有关 Git repos 的更多信息,请参阅 配置您的 Git Repos and Issue Tracking。 有关自定义脚本的更多信息,请参阅 自定义脚本。
-
输入唯一的 新版本库名称。
-
单击继续。
密钥
- 本教程使用 IBM Cloud® Secrets Manager 作为秘密库。 地区、资源组和服务名称字段将根据可用选择自动填充。 单击下拉指示器查看其他选择。
- 键入 Secrets Manager 实例名称。
- 从下拉列表中选择授权类型。
- 单击继续。
证据存储
- 选择 使用现有证据锁存储库。
- 选择配置持续集成(CI)工具链时创建的存储库 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 工具链
将现有的 DevOps Insights 实例从另一个工具链链接到此管道,这样 CI 和 CD 工具链管道中的所有构建、部署和测试记录都能收集到同一个地方。
CD 工具链可将部署记录发布到现有的 DevOps Insights 实例。 要启用此功能,请在 DevOps Insights 工具链 ID 列表中选择包含现有 DevOps Insights 实例的工具链 ID。
IBM Cloud DevOps Insights 包含在工具链中。 从每个部署和环境中查看每次构建的管道测试结果。
- 提供您的 DevOps Insights IBM Cloud API 密钥。
- 接受默认配置。
- 单击继续。
可选工具
Slack
配置 Slack 以接收有关拉取请求或 CI 管道事件的通知。 您也可以在创建工具链后添加 Slack 工具。
- 输入您的 Slack Webhook。 有关更多信息,请参阅 Slack webhook。
- 输入您的黑客频道来发布消息。
- 输入空白队名。 例如,如果您的团队 URL 是
https://team.slack.com,团队名称就是team。 - 为希望接收通知的事件选择 Automated Slack Notifications。
- 单击继续。
此外,您还可以在 CD 管道中使用 0 = off, and 1 = on 来切换 slack-notifications 环境属性发送通知。
Security and Compliance Center
- 接受或编辑自动填充的设置。 有关详细信息,请参阅 Security and Compliance Center 和 工具集成 配置流程。
- 单击 Continue 查看摘要页面。
创建 CD 工具链
各个工具链集成可在管道创建后进行配置。
- 在摘要页面,单击 创建工具链,然后等待工具链被创建。
浏览 CD 工具链
- 现在 CD 工具链已创建,单击 cd-pipeline 磁贴打开并运行推广管道。
运行推广管道
在运行推广管道之前,请确保 CI 管道 已成功运行。
-
单击 cd-管道。
-
单击 运行****手动促销触发器管道。
-
单击运行触发管道。
-
单击 手动促销触发器 >
#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。 - 附加说明:有关应用程序更改的说明。
- 目的/目标:对应用程序进行更改的目的。
- 影响说明:更改对应用程序行为或环境的影响。
- 退出计划:部署失败时的退出步骤。
- 优先级:(必须)设置为
-
完成 拉取请求 和 保存中的字段。
-
如果 CI 中的任何合规性检查失败,而您又想 继续部署,请将
EMERGENCY标签添加到您的拉取请求中 -
合并来自 Git Repos and Issue Tracking的拉取请求。
拉取请求的详细信息会在运行 CD 管道时使用,以在变更请求库中创建和更新。
运行光盘管道
您可以通过手动或自动方式触发 CD 管道。 您可以随时手动触发 CD 管道,但如果上次成功部署后没有任何更改,CD 管道就会提前停止,因为没有任何东西要部署。 您可以添加并使用 force-redeploy 变量 在不进行代码更改的情况下重新运行 CD。 查看 DevSecOps
CD 管道的成功屏幕截图。
您可以找到在生产命名空间上运行的示例应用程序。 应用程序 URL 可在CD流水线运行的 prod deployment 步骤的 run stage 子步骤日志中找到。 请使用 URL 验证应用程序是否正在运行。
后续步骤
您成功创建了 DevSecOps CD 工具链,运行了 cd-pipeline 以在生产环境中手动触发。
现在,继续 设置 CC 工具链。