关于 sap-btp-cloud-transport-management
面向 SAP BTP Cloud Transport Management 配置与运维的技能,供负责跨环境交付的开发和运维团队参考。内容涵盖传输景观、导入队列、部署目标、CI/CD 与错误排查。
主要功能
- 01传输节点与路由配置
- 02导入队列及调度管理
- 03MTA 与应用内容传输
- 04部署目标和目的地设置
- 05CI/CD 与 API 操作参考
- 06传输错误排查
适用场景
- 01搭建跨环境传输景观
- 02将 MTA 部署到 Cloud Foundry 环境
- 03管理导入队列并安排自动导入
- 04排查传输或部署失败
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ secondsky/ sap-skills --skill sap-btp-cloud-transport-management安装后在 Claude Code 中输入/sap-btp-cloud-transport-management确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdagents/openai.yamlreferences/administration.mddestinations.mdimport-operations.mdinitial-setup.mdintegrations.mdlandscape-configuration.mdsecurity-roles.mdtroubleshooting.md详细介绍
SAP Cloud Transport Management 技能
相关技能
- sap-btp-cloud-platform:用于设置 BTP 子账户、角色集合和 Cloud Foundry 运行时
- sap-btp-developer-guide:用于了解已传输内容的应用交付和 CI/CD 模式
- sap-btp-service-manager:用于服务实例、服务密钥以及 API/服务生命周期操作
- sap-abap:当传输流包含 ABAP Environment 或由 gCTS 管理的内容时使用
适用场景
在设置传输景观、创建传输节点/路由、管理导入队列、跨环境部署 MTA、配置部署传输的目标、将传输集成到 CI/CD,或排查 TMS 导入/部署错误时,请使用此技能。
目录
概述
SAP Cloud Transport Management 是 SAP BTP 上的一项服务,用于在不同环境的账户之间传输软件交付物,并通过各种运行时管理这些交付物。它提供变更审计跟踪的透明度,并支持开发团队与运维团队分工协作。
支持的环境:Cloud Foundry、Kyma、Neo(已弃用)
支持的内容类型:
- MTA(多目标应用):用于 Cloud Foundry 部署的
.mtar文件 - BTP ABAP:对 Git 仓库中 ABAP 对象的引用
- 应用程序内容:特定于应用程序的格式(
.zip、.rar) - XSC DU:SAP HANA XS classic 交付单元
快速入门:初始设置
先决条件
- 全局账户管理员访问权限
- 至少一个 SAP BTP 子账户
- 已启用 Cloud Foundry 环境
设置工作流
1. Configure Entitlements → 2. Subscribe to Service → 3. Set Up Roles → 4. Create Service Instance
步骤 1:配置授权
导航至:Global Account > Entitlements > Entity Assignments > Add Service Plans
选择“Cloud Transport Management”并选择计划:
| 计划类型 | 可用计划 | 用途 |
|---|---|---|
| Application | standard、free、build-runtime | UI 访问 |
| Instance | standard、export、transport_operator | API/程序化访问 |
Instance 计划需要有效的 Application 计划。
export计划用于 CI/CD 流水线。
步骤 2:订阅服务
- 导航至 Services > Service Marketplace
- 搜索“Cloud Transport Management”
- 在 Actions 菜单中选择 Create
- 选择订阅计划(
standard、free或build-runtime) - 确认状态显示为“Subscribed”
步骤 3:设置角色集合
预置角色集合:
TMS_LandscapeOperator_RCTMS_Viewer_RC
可用角色:
| 角色 | 功能 |
|---|---|
| Administrator | 管理所有 TMS 任务 |
| LandscapeOperator | 创建、编辑和删除节点及路由 |
| TransportOperator | 管理导入队列、转发、重置和计划安排 |
| ImportOperator | 导入所有传输请求 |
| ImportSelectedOperator | 导入选定的传输请求 |
| ExportOperator | 添加文件、创建可修改的请求 |
| Viewer | 只读访问 |
分配角色:Security > Role Collections > [Collection] > Edit > Users
步骤 4:创建服务实例和密钥
- 在子账户中创建 Cloud Foundry 空间
- 导航至 Services > Instances and Subscriptions > Create
- 选择:
- 服务:
Cloud Transport Management - 计划:
standard(实例类型) - 运行时:
Cloud Foundry
- 服务:
- 创建服务密钥——凭据结构:
{
"uaa": {
"clientid": "sb-xxxxxx",
"clientsecret": "xxxxxx",
"url": "https://<domain>.authentication.sap.hana.ondemand.com"
},
"uri": "https://transport-service-app-backend.ts.cfapps.sap.hana.ondemand.com"
}
Landscape 配置
传输节点
传输节点表示部署流程的源端或目标端端点。
节点类型:
- 物理节点:实际部署端点(例如,Cloud Foundry 空间)
- 虚拟节点:用于聚合/分发的占位符,不进行物理部署
关键配置字段:
| 字段 | 说明 |
|---|---|
| Name | 区分大小写的标识符(对于 Content Agent,必须与 sourceSystemId 匹配) |
| Allow Upload to Node | 启用本地归档文件上传 |
| Forward Mode | Pre-Import(默认)、Post-Import、On Success、Manual |
| Content Type | MTA、BTP ABAP、Application Content、XSC DU |
| Destination | 目标部署端点 |
| Deployment Strategy | default 或 blue-green(仅限 CF 上的 MTA) |
传输路由
路由用于连接传输节点。限制:一个节点只能作为一条路由的目标,但可以作为多条路由的源。
Transport Landscape 向导
适用于简单的 2–3 节点 Landscape:
- 选择模板(节点数量)
- 配置每个节点
- 自定义路由名称
- 检查并完成
Destination 配置
所有 Destination 均要求使用 HTTPS。在此处配置:SAP BTP Cockpit > Connectivity > Destinations
到 TMS 服务的 Destination(源环境)
应用直接向 TMS 导出内容时需要此配置。
| 字段 | 值 |
|---|---|
| Name | TransportManagementService(或应用专用名称) |
| Type | HTTP |
| URL | 服务密钥中的 uri 值 |
| Authentication | OAuth2ClientCredentials |
| Client ID | 服务密钥中的 uaa.clientid |
| Client Secret | 服务密钥中的 uaa.clientsecret |
| Token Service URL | 服务密钥中的 uaa.url + /oauth/token |
| Additional Property | sourceSystemId = 源节点名称 |
MTA 部署目标(Cloud Foundry)
选项 1:基本身份验证(仅限 SAP ID 用户)
| 字段 | 值 |
|---|---|
| URL(组织/空间) | https://deploy-service.cf.<domain>/slprot/<org>/<space>/slp |
| URL(空间 GUID) | https://deploy-service.cf.<domain>/slprot/<guid>/slp |
| 身份验证 | BasicAuthentication |
| 用户 | 具有 SpaceDeveloper 角色的平台用户邮箱 |
获取空间 GUID:
cf space <space-name> --guid对组织/空间名称中的特殊字符进行 URL 编码
选项 2:OAuth2Password(支持自定义 IdP)
| 字段 | 值 |
|---|---|
| URL | 与基本身份验证相同 |
| 身份验证 | OAuth2Password |
| 客户端 ID | cf |
| 客户端密钥 | (留空) |
| 令牌服务 URL | https://login.cf.<domain> |
BTP ABAP 环境目标
| 字段 | 值 |
|---|---|
| URL | https://<instance>.abap.<region>.hana.ondemand.com/sap/opu/odata4/sap/a4c_mswc_api/srvd_a2x/sap/manage_software_components/0001/ |
| 身份验证 | BasicAuthentication |
| 用户 | 来自 SAP_COM_0948 的通信用户 |
导入队列操作
导入方法
| 方法 | 描述 | 可用范围 |
|---|---|---|
| 全部导入 | 按顺序导入队列中的所有请求 | 所有内容类型 |
| 导入所选项 | 导入特定请求(可能导致不一致) | 不支持 BTP ABAP |
| 导入至所选项 | 导入所选请求之前的所有请求 | 仅限 BTP ABAP |
可导入状态:Initial、Fatal、Repeatable
文件上传
- 最大文件大小:1 GB(免费套餐为 500 MB)
- 存储配额:标准版 50 GB,免费版 500 MB
- 保留期限:最终状态后 30 天(免费版为 7 天)
- 格式:
.mtar(MTA)、.tgz(XSC DU)、.zip(应用程序内容)
计划
- 模式:每日(每小时、每天 4 次)或每周(指定日期/时间)
- 自动停用:连续 3 周以上发生 3 次致命失败后
自动导入
按节点启用后,会立即处理所有可导入请求,并在有新请求到达时触发。
传输请求状态
导入状态
| 状态 | 描述 |
|---|---|
| Initial | 已添加但尚未导入 |
| Running | 正在导入 |
| Succeeded | 导入成功 |
| Warning | 已完成,但有警告 |
| Error | 导入失败(可重试) |
| Fatal | 导入失败(致命错误) |
| Skipped | 已主动跳过(虚拟节点) |
| Repeatable | 已重置,可重新导入 |
| Deleted | 已从队列中移除 |
| Transient | 已测试并释放(可修改请求) |
生命周期状态
- 可修改:可以编辑请求
- 已释放:位于至少一个非归档状态的队列中
- 已删除:已从所有队列中删除
- 已归档:已由保留策略清理
故障排除
快速参考:常见错误
| 错误 | 可能原因 | 快速修复 |
|---|---|---|
Not Found | CF 域名错误 | 将域名与 cf api 输出匹配 |
Not Found | 特殊字符未编码 | 使用空间 GUID:cf space <name> --guid |
Forbidden | 缺少 SpaceDeveloper 角色 | 在 BTP Cockpit 或 CF CLI 中添加角色 |
Forbidden | IdP 错误 | 使用带有 origin 属性的 OAuth2Password |
| 连接被拒绝(ABAP) | URL 模式错误 | 验证 SAP_COM_0948 通信安排 URL |
| 导入卡住 | 状态非最终状态 | 检查 Transport Action Logs 以查找根本原因 |
MTA 部署错误
错误:部署期间出现 Not Found
原因:
- URL 中的 Cloud Foundry 域名错误
- 组织/空间名称中的特殊字符未进行 URL 编码
解决方案:
- 验证域名与 CF API 端点匹配:
cf api - 使用空间 GUID 替代名称
- 对特殊字符进行 URL 编码(
+→%2B,空格 →%20)
错误:部署期间出现 Forbidden
原因:
- 用户缺少
SpaceDeveloper角色 - 用户来自错误的身份提供商
解决方案:
- 验证用户角色:
cf space-users <org> <space> - 对自定义 IdP 用户使用 OAuth2Password 身份验证
SAP 支持
组件:BC-CP-LCM-TMS(应用内容的传输管理)
提交事件时需要提供:区域、子账户 ID、复现步骤、传输操作日志、屏幕截图
有关详细的故障排查步骤、按内容类型分类的错误目录和支持流程,请参阅 references/troubleshooting.md。
安全
API 访问的服务计划
| 计划 | 访问级别 |
|---|---|
standard | 完整 API 访问权限 |
export | 仅限导出操作(CI/CD) |
transport_operator | 仅限导入、重置、转发和删除 |
特定节点的限制
使用属性将角色限制为特定节点:
TmsNodesTransportOperatorTmsNodesImportTmsNodesExport
恶意软件扫描
TMS 不会执行恶意软件扫描,目标应用负责扫描。例外:MTA 部署描述符会经过验证。
集成
CI/CD 集成
使用 SAP Continuous Integration and Delivery 或 Project Piper,并选择 export 服务计划。
警报通知
配置 ALERT_NOTIFICATION_SERVICE 目标,以接收以下通知:
TmsImportFinished/TmsImportStartedTmsTransportRequestAddedTmsNodeImportJobDeactivatedTmsStorageQuotaUsage(85% 阈值)
API 操作
- 文件上传:上传内容归档文件
- 节点导出:将文件附加到新请求,并转发到目标节点
- 节点上传:上传到指定节点(CI/CD 场景)
- 导入操作:异步执行;使用 Get transport action 进行监控
参考文档
有关详细配置步骤,请参阅参考文件:
随附资源
参考文档
references/initial-setup.md- 完整的设置步骤references/landscape-configuration.md- 节点、路由、可视化和向导references/destinations.md- 全部 8 种目标类型及其配置references/import-operations.md- 导入队列、MTA 描述符、可修改请求references/administration.md- 服务计划、备份、存储、数据导出references/troubleshooting.md- 错误解决指南references/integrations.md- 集成场景和 API 操作references/security-roles.md- 角色和权限详情
文档链接
- GitHub 文档:https://github.com/SAP-docs/sap-btp-cloud-transport-management
- SAP Help Portal:https://help.sap.com/docs/cloud-transport-management
- API 参考:https://api.sap.com/package/TmsForCloudPub/rest
最后更新:2025-11-22 来源:SAP-docs/sap-btp-cloud-transport-management