使用 CI/CD 服务管理应用程序生命周期

学习目标

  • 使用 CI/CD 服务管理应用程序的生命周期

启用持续集成与交付(CI/CD)服务

业务场景

我们正在开发一个基于多种 SAP 技术的云应用程序。这些技术包括:数据库服务、用户界面,涵盖 SAP Cloud Application Programming Model(CAP)、SAP Fiori、SAP Mobile Development Kit(MDK)等。随着项目变得越来越复杂,需要更多开发人员协作并为项目做出贡献。因此,需要一种高效的方式来在项目上实现持续集成与交付,以确保质量。借助自动化的构建与测试仓库,可以实现顺畅的开发。在本例中,我们使用 SAP Continuous Integration and Delivery 服务来实现这一点。

在本练习中,您将执行以下任务:

  • 在您的项目上创建一个 CI/CD 作业。

  • 配置您的 CI/CD 作业,以构建应用程序并将其部署到测试用的 Cloud Foundry 环境。

  • 通过向远程 Git 仓库提交更改来触发自动化的 CI/CD 构建。

前提条件

  • 您必须首先订阅 SAP Continuous Integration and Delivery 服务,并分配所需的角色和权限。请参阅 Initial Setup

  • 您已成功完成以下内容之前的各项练习: Create User Roles 。

  • 您已将项目共享到远程 Git 仓库。

注意

请注意,此学习旅程链接到的某些服务可能会产生费用。

任务 1:启用持续集成与交付(CI/CD)

步骤

  1. 启用持续集成与交付(CI/CD)。

  2. 从左侧面板中选择 CI/CD 按钮。 系统截图

  3. 如果您看不到 CI/CD 图标,可以打开 menuViewCI/CD系统截图

  4. 在 CI/CD 面板中检查您的项目。此时它应该还没有任何作业。选择 Create Job 按钮。 系统截图

注意

如果您尚未将项目共享到远程 Git 仓库,将会收到一条通知消息,要求您共享项目。

  1. 将显示 Guided Development 页面。向下滚动以查看主题:Create a CI/CD Job,然后展开 Job Configuration系统截图

  2. 选择 Configure Job 按钮,将打开一个新的 Job Configuration 向导,让您创建并配置新作业。

  3. Job Name 步骤中,输入唯一的作业名称。

  4. Pipeline 下拉列表中,选择 SAP Cloud Application Programming Model系统截图

  5. 选择 Next

  6. 在 Git Credentials 步骤中,添加仓库和凭据。 您将把远程 Git 仓库存储到 SAP Continuous Integration and Delivery 服务中,以便该服务能够通过 Git 获取您的项目以进行构建和部署。 使用以下数据: | 字段 | 值 | | --- | --- | | Repository name | (由您自行决定) | | Credential | (由您自行决定) | | Description | (由您自行决定) |

  7. 此时您应该还没有任何可供选择的匹配 Git 仓库,因此从 Git Repositories 下拉列表中选择 -- Add a Repository --。此时应出现两个新字段:Repository NameGit Credentials

  8. Repository Name 字段中为仓库指定一个唯一的名称。该名称用于标识存储在 SAP Continuous Integration and Delivery 服务中的仓库。

  9. 此时您应该还没有任何可用的 Git 凭据,因此从下拉列表中选择 -- Add Credentials --

  10. 为凭据指定一个唯一的名称,该凭据将存储在 SAP Continuous Integration and Delivery 服务中,例如:user-abc-github

  11. 您也可以添加一些描述以更好地说明该凭据,例如 User Abc's Github.com credentials

  12. 输入用户名和密码/令牌。这两个字段将安全地存储在 SAP Continuous Integration and Delivery 服务中,该服务将使用它们访问并从您的 Git 仓库中获取项目。 系统截图

  13. 选择 Next 继续下一步。

  14. 在 Acceptance 步骤中,执行以下步骤以创建更多凭据。 此步骤允许您指定希望将该项目部署到哪个 Cloud Foundry 环境以进行验收测试。

  15. 在单选按钮中选择 Yes

  16. 输入 API EndpointOrg NameSpaceCloud Foundry Credentials(您可能需要指定)。 要查找所需信息,请导航回您的子账户并向下滚动到 Cloud Foundry Environment系统截图

  17. 此时您应该还没有任何 Cloud Foundry 凭据,因此从下拉列表中选择 -- Add Credentials --

  18. 为凭据指定一个唯一的名称,该凭据将存储在 SAP Continuous Integration and Delivery 服务中,例如:user-abc-cf

  19. 您也可以添加一些描述以更好地说明该凭据,例如 User Abc's Cloud Foundry credentials

  20. 输入用户名和密码/令牌。这两个字段将安全地存储在 SAP Continuous Integration and Delivery 服务中,该服务将使用它们将您的应用程序部署到您指定的 Cloud Foundry 目标。 系统截图

  21. 选择 Next 继续下一步。

  22. 在 Release 步骤中,无需执行任何操作。 此步骤允许您配置到 Cloud Foundry 和/或 Cloud Transport Management Service 的部署。

  23. 在本练习中,我们既不会将此作业设置为发布到 Cloud Foundry,也不会将其上传到 Cloud Transport Management Service,因此我们可以将它们保留为 No,然后选择 Finish 以完成作业创建。

  24. 作业创建完成后,您应该会看到以下通知: 系统截图

  25. 您应该会看到 CI/CD 面板中现在显示了一个作业。但目前它还没有任何作业运行历史。 系统截图

  26. 在 CI/CD 作业创建完成后,Webhook Data 选项卡应已自动打开。如果没有,您可以改为执行以下任一子步骤。

  27. 选择作业名称旁边的 Overflow 按钮以打开上下文菜单。

  28. 选择 View Webhook 菜单项。 这将打开一个 Webhook Data 选项卡,其中包含添加 Webhook 数据所需的详细信息。 系统截图

  29. 在 GitHub 中执行相关设置。

  30. 导航到您的 Git 仓库,然后选择 Settings(Code and Automation) HooksAdd webhook系统截图

  31. Payload URL 字段中,粘贴 Webhook Data 选项卡中的 Payload URL。

  32. Content type 设置为 application/json

  33. Webhook Data 选项卡中,选择 Create a new secret

  34. 在要求确认时选择 Yes

  35. Secret 字段中,粘贴 Webhook Data 选项卡中的 Secret。

  36. 选择 Add webhook

  37. 将更改提交到远程 Git 仓库。 现在,根据我们之前看到的通知,我们必须先向远程 Git 仓库提交任何更改,然后才能触发构建。

  38. 在 SAP Business Application Studio 中,打开故事板。

  39. 对于数据模型条目 Risks,选择 Edit Sample Data系统截图

  40. 在 Sample Data Editor 中,将第一行的 Prio 从 1 改为 2系统截图

  41. 从活动栏中,导航到 Simplified Git

  42. 添加一条消息,然后选择 Commit & Sync

  43. 从活动栏中,导航回 CI/CD。 您会发现触发了构建,并生成了以下通知: 系统截图

注意

如果构建未自动触发,请执行以下操作:

  1. 选择作业名称旁边的 Overflow 按钮以打开上下文菜单。

  2. 选择 Trigger a build 。

  3. 在确认对话框中,您可以选择将来在向 Git 仓库提交更改时是自动触发构建还是手动触发构建。 系统截图

  1. 您将看到作业状态从 **No build history** 变为 **Build 1**,其 Status**Running**系统截图

  2. 根据项目大小和作业配置,构建可能需要至少 5 分钟或更长时间。构建完成后,您将收到如下通知: 系统截图

  3. CI/CD 面板中的作业状态将更新为类似以下内容: 系统截图

参考链接:持续集成与交付(CI/CD)相关服务

您可以在此处找到有关持续集成与交付的更多信息:持续集成与交付