在|在 ABAP 技术栈里实施 Continuous Integration 的一些挑战
持续集成(Continuous Integration)是一个术语,关于向开发人员提供每次更改的反馈,反馈必须可靠并及时提供。
无论何时保存开发、提交或其他任何东西,都可能发生更改,这完全取决于开发环境。开发人员需要这些信息来确定是否可以将更改推送给更广泛的受众,比如将应用交付给 Quality Engineer 进行更高维度的测试。
同样,如何将开发部署到 CI 系统也是一个部署主题。 可以使用 ABAP 经典传输系统设置以下场景。
CI pipeline 可能包含下列元素:
- Code Inspector / ATC
- Coverage results
- Unit tests
- Integration tests
- eCATT
- UI tests
- Performance tests
- Metrics
假设:所有组织都需要进行手动探索性测试,即使所有测试都是自动化的,QAS 系统也不能报废。
文章图片
【在|在 ABAP 技术栈里实施 Continuous Integration 的一些挑战】对于开发人员所做的每项更改,更改都会部署到 QAS 并运行 CI。 报告结果后,更改将恢复。
文章图片
对于 ABAP 系统,很难对对象进行适当的回滚。 单元和集成测试可能会更改系统中的数据(它们不应该),因此需要完整的数据库回滚才能获得完全可靠的结果。
这意味着系统不能同时用于手动测试,因为开发人员所做的每一次更改都会更改系统。 或者,为 CI 分配特定的时隙,为手动测试分配其他一些时隙。
总而言之,这最终以打破 QAS 系统的自动化过程结束,而不是通过自动化来避免错误。
因此,为了不干扰 QAS 系统中的手动测试,CI 运行可以移动到不同的服务器。 CI在CIS系统中运行,在QAS中进行手动测试,
文章图片
要在 ABAP 里实施 CI 不是一件容易的事情,需要在成本、可靠性、速度、复杂性等方面做出明智的选择。它们对开发过程和基础设施有很大的影响。
完全支持持续集成不仅仅是让 pipeline 获得一些结果,这道理就像简单地将代码放入 git 进行托管远远不意味着就等于 devops.
ABAP 容器化是完全支持 CI 所必需的,没有它就不可能完全支持持续集成。
推荐阅读
- 在C语言中使用计算机图形编程绘制移动的汽车
- 怎样下载歌曲到u盘
- windows10在啥地方里能到正式版的呢?制作详细说明
- Android 如何判断指定服务是否在运行中 “Service”
- 如何在Android中的Activity启动第三方应用程序()
- 自动机正则表达式的例子
- 算法题(如何在循环双链表的特定位置进行插入())
- 数据结构概述|S1(线性数据结构)
- WPS在引用中制作目录
- Eclipse启动时卡死在"Android SDK: Resolving error markers"的解决方法