CICD in ABAP

本文详细介绍了CI/CD在ABAP开发中的应用,强调了持续集成的重要性,包括使用版本控制、自动构建和测试。文章阐述了ABAP中CI的各个原则,如小步快跑、乐观合并等,并提到了SAP提供的CI/CD服务和开源项目Piper。此外,还讨论了在生产克隆环境中测试的必要性,并提供了SAP的CI/CD解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CI/CD

在这里插入图片描述
这个图解释了为什么需要CI/CD。

CI持续集成

在这里插入图片描述

CI是一个软件开发过程,多个团队同时开发,最终贡献到同一个主线上,在每次集成到主线前,都会通过构建和自动化测试来验证,这样防止把问题集成到主线
其中一个重要的角色就是SCM systemCI server,可以直接想到两个软件GithubJenkins

CI的三个原则 :

  • 使用版本控制 Use Version Control
  • 构建每次修改Build Each Change
  • 尽早并经常提交Commit Early and Often

持续集成的原则:

在这里插入图片描述

使用版本控制 Use Version Control

使用SCM源代码管理系统来管理不同的版本,并定义一条主分支
在协作开发中,不同的开发者在同一个产品上工作,并且经常同时修复现有的bug和开发进一步的特性。使用源代码管理系统(SCM)使所有的贡献透明化,并避免它们之间的冲突。
SCM为产品的源代码定义了一条通用的主分支,贡献的开发人员从这里获取他们的源代码,并将他们的更改推到这里。它假设对源代码的每次更改都会创建一个新版本,并通过添加时间戳、负责的开发人员的身份和简短解释其内容的提交消息来帮助管理它们。因此,SCM允许跟踪变更,并在必要时备份和恢复单个版本。
基本流程

这个很好理解,大家把自己的开发都先后从主分支pull出来,再push回去。
有Feature分支的流程
在这里插入图片描述
在大型项目中,不同的team负责不同的feature开发,team可以分别创建不同的feature 分支,team内以feature分支为主进行pull和push,最后再一次和主分支进行合并。

注意:当一个特性要集成时,必须将特性分支中的所有更改重新基于主线的当前版本。因为这可能会导致大量合并工作,所以请确保尽可能频繁地重新设定修改的基准。

自动构建 Automate the build

对于ABAP来说,这里的对象激活后的runtime

构建后的测试 Run Tests in the build

将尽可能多的自动化测试集成到您的构建中。
综合的测试来从一开始就避免错误和回归正确。很多种不同类型的测试,但很遗憾,适合ABAP的类型很少。静态代码检查、单元测试、系统测试和场景测试这些类型中传统ABAP可能只适用静态代码的检查,但随着时间的进化,相信ABAP也会适用更多类型的自动化测试 。
下图是不同的测试类型和框架:
在这里插入图片描述

小步快跑 - 勤提交,早提交 Commit Early and Often

持续集成的关键原则是不断地将更小的代码更改提交到主线中,并在开发过程的早期阶段就开始这样做。通过采用这种方法,您可以避免在处理主线时必须面对的两个主要障碍:

  • 随着各种开发人员不断地对其做出贡献,主线稳步地发展并变得更加复杂。在集成更改之前等待的时间越长&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值