Continuous Integration is a term about providing feedback to developers on each change, which must be reliable and timely.
Whenever you save development, commit, or anything else, changes may happen, it all depends on the development environment. Developers need this information to determine whether changes can be pushed to a wider audience, such as delivering an application to a Quality Engineer for higher-dimensional testing.
Likewise, how to deploy development to the CI system is a deployment topic. The following scenarios can be set up using the ABAP classic transport system.
A CI pipeline may contain the following elements:
- Code Inspector / ATC
- Coverage results
- Unit tests
- Integration tests
- eCATT
- UI tests
- Performance tests
- Metrics
The most basic transmission scenario
Let's take a common setup for dev, test, and production. Developers develop in development systems and test systems are used for manual testing.
Assumption: Manual exploratory testing is required in all organizations, and even if all testing is automated, the QAS system cannot be scrapped.
For every change a developer makes, the change is deployed to QAS and CI runs. Changes will be reverted after the results are reported.
For ABAP systems, it is difficult to roll back objects properly. Unit and integration tests may change data in the system (they shouldn't), so a full database rollback is required for fully reliable results.
This means that the system cannot be used for manual testing at the same time, because every change the developer makes changes the system. Alternatively, assign specific time slots for CI and some other time slots for manual testing.
All in all, this ends up breaking the automated process of the QAS system, rather than automating it to avoid errors.
Therefore, in order not to interfere with manual testing in the QAS system, the CI run can be moved to a different server. CI runs in CIS system, manual testing in QAS,
Implementing CI in ABAP is not an easy task and requires wise choices in terms of cost, reliability, speed, complexity, etc. They have a big impact on the development process and infrastructure.
Full support for continuous integration is not just about getting the pipeline to get some results, it's like simply putting code into git for hosting is far from equal to devops.
ABAP containerization is required to fully support CI, without which it is impossible to fully support continuous integration.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。