使用 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)
步骤
启用持续集成与交付(CI/CD)。
从左侧面板中选择 CI/CD 按钮。

如果您看不到 CI/CD 图标,可以打开 menu → View → CI/CD。

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

注意
如果您尚未将项目共享到远程 Git 仓库,将会收到一条通知消息,要求您共享项目。
将显示 Guided Development 页面。向下滚动以查看主题:Create a CI/CD Job,然后展开 Job Configuration。

选择 Configure Job 按钮,将打开一个新的 Job Configuration 向导,让您创建并配置新作业。
在 Job Name 步骤中,输入唯一的作业名称。
从 Pipeline 下拉列表中,选择
SAP Cloud Application Programming Model。
选择 Next。
在 Git Credentials 步骤中,添加仓库和凭据。 您将把远程 Git 仓库存储到 SAP Continuous Integration and Delivery 服务中,以便该服务能够通过 Git 获取您的项目以进行构建和部署。 使用以下数据: | 字段 | 值 | | --- | --- | | Repository name | (由您自行决定) | | Credential | (由您自行决定) | | Description | (由您自行决定) |
此时您应该还没有任何可供选择的匹配 Git 仓库,因此从 Git Repositories 下拉列表中选择 -- Add a Repository --。此时应出现两个新字段:Repository Name 和 Git Credentials。
在 Repository Name 字段中为仓库指定一个唯一的名称。该名称用于标识存储在 SAP Continuous Integration and Delivery 服务中的仓库。
此时您应该还没有任何可用的 Git 凭据,因此从下拉列表中选择 -- Add Credentials --。
为凭据指定一个唯一的名称,该凭据将存储在 SAP Continuous Integration and Delivery 服务中,例如:
user-abc-github。您也可以添加一些描述以更好地说明该凭据,例如
User Abc's Github.com credentials。输入用户名和密码/令牌。这两个字段将安全地存储在 SAP Continuous Integration and Delivery 服务中,该服务将使用它们访问并从您的 Git 仓库中获取项目。

选择 Next 继续下一步。
在 Acceptance 步骤中,执行以下步骤以创建更多凭据。 此步骤允许您指定希望将该项目部署到哪个 Cloud Foundry 环境以进行验收测试。
在单选按钮中选择 Yes。
输入 API Endpoint、Org Name、Space 和 Cloud Foundry Credentials(您可能需要指定)。 要查找所需信息,请导航回您的子账户并向下滚动到 Cloud Foundry Environment。

此时您应该还没有任何 Cloud Foundry 凭据,因此从下拉列表中选择 -- Add Credentials --。
为凭据指定一个唯一的名称,该凭据将存储在 SAP Continuous Integration and Delivery 服务中,例如:
user-abc-cf。您也可以添加一些描述以更好地说明该凭据,例如
User Abc's Cloud Foundry credentials。输入用户名和密码/令牌。这两个字段将安全地存储在 SAP Continuous Integration and Delivery 服务中,该服务将使用它们将您的应用程序部署到您指定的 Cloud Foundry 目标。

选择 Next 继续下一步。
在 Release 步骤中,无需执行任何操作。 此步骤允许您配置到 Cloud Foundry 和/或 Cloud Transport Management Service 的部署。
在本练习中,我们既不会将此作业设置为发布到 Cloud Foundry,也不会将其上传到 Cloud Transport Management Service,因此我们可以将它们保留为
No,然后选择 Finish 以完成作业创建。作业创建完成后,您应该会看到以下通知:

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

在 CI/CD 作业创建完成后,Webhook Data 选项卡应已自动打开。如果没有,您可以改为执行以下任一子步骤。
选择作业名称旁边的 Overflow 按钮以打开上下文菜单。
选择 View Webhook 菜单项。 这将打开一个 Webhook Data 选项卡,其中包含添加 Webhook 数据所需的详细信息。

在 GitHub 中执行相关设置。
导航到您的 Git 仓库,然后选择 Settings → (Code and Automation) Hooks → Add webhook。

在 Payload URL 字段中,粘贴 Webhook Data 选项卡中的 Payload URL。
将 Content type 设置为
application/json。在 Webhook Data 选项卡中,选择 Create a new secret。
在要求确认时选择
Yes。在 Secret 字段中,粘贴 Webhook Data 选项卡中的 Secret。
选择 Add webhook。
将更改提交到远程 Git 仓库。 现在,根据我们之前看到的通知,我们必须先向远程 Git 仓库提交任何更改,然后才能触发构建。
在 SAP Business Application Studio 中,打开故事板。
对于数据模型条目 Risks,选择 Edit Sample Data。

在 Sample Data Editor 中,将第一行的 Prio 从 1 改为
2。
从活动栏中,导航到 Simplified Git。
添加一条消息,然后选择 Commit & Sync。
从活动栏中,导航回 CI/CD。 您会发现触发了构建,并生成了以下通知:

注意
如果构建未自动触发,请执行以下操作:
选择作业名称旁边的 Overflow 按钮以打开上下文菜单。
选择 Trigger a build 。
在确认对话框中,您可以选择将来在向 Git 仓库提交更改时是自动触发构建还是手动触发构建。
您将看到作业状态从
**No build history**变为**Build 1**,其 Status 为**Running**:
根据项目大小和作业配置,构建可能需要至少 5 分钟或更长时间。构建完成后,您将收到如下通知:

CI/CD 面板中的作业状态将更新为类似以下内容:

参考链接:持续集成与交付(CI/CD)相关服务
您可以在此处找到有关持续集成与交付的更多信息:持续集成与交付
