* Add stages for build process * fix typo * Add createServiceKey to Build stage * Fix typo * Inital Checks is required when Build stage is exec * Switch Order * Fix Typo * Add parameter for confirmation * add "addIfEmpty" * Add import * revert * revert2 * Remove import * revert3 * Add stages to docu * Update image
5.9 KiB
ABAP Environment Pipeline
The goal of the ABAP Environment Pipeline is to enable Continuous Integration for the SAP Cloud Platform ABAP Environment, also known as Steampunk. The pipeline contains several stages and supports different scenarios. The general idea is that the user can choose a subset of these stages, which fit his/her use case, for example running nightly ATC checks or building an ABAP AddOn for Steampunk. The following stages and steps are part of the pipeline:
Stage | Steps |
---|---|
Init | - |
Initial Checks | abapAddonAssemblyKitCheckPV, abapAddonAssemblyKitCheckCVs |
Prepare System | cloudFoundryCreateService, cloudFoundryCreateServiceKey |
Clone Repositories | abapEnvironmentPullGitRepo |
ATC | abapEnvironmentRunATCCheck |
Build | cloudFoundryCreateServiceKey, abapAddonAssemblyKitReserveNextPackages, abapEnvironmentAssemblePackages, abapAddonAssemblyKitRegisterPackages, abapAddonAssemblyKitReleasePackages, abapAddonAssemblyKitCreateTargetVector, abapAddonAssemblyKitPublishTargetVector |
Integration Tests | cloudFoundryCreateService |
Confirm | - |
Publish | abapAddonAssemblyKitPublishTargetVector |
Post | cloudFoundryDeleteService |
Below you can find more details about the different stages. Here you can find more information about how to configure your pipeline.
Init
In this stage, the pipeline is initialized. Nothing to see here.
Initial Checks
This stage is executed, if the "Build" stage is configured. It contains checks to verify the validity of the provided AddOn Descriptor.
Prepare System
In this stage, the ABAP Environment system is created. This is done with the cloudFoundryCreateService step.
!!! caution "Limitation"
As some parts of the system configuration is done after the Cloud Foundry instance was created, the following workaround is currently necessary:
An authorized user has to manually confirm that the ABAP Environment system is ready. This is the case when the email has been received by the initially provided administrator (as configured in the file manifest.yml
- as described in configuration).
Redefining the "Prepare System" stage via an extension could circumvent the manual confirmation and replace it with an optimistic wait statement - this, however, may lead to a failing pipeline in case the system is not ready in time.
After the confirmation, the Communication Arrangement SAP_COM_0510 (SAP Cloud Platform ABAP Environment - Software Component Test Integration) is created using the step cloudFoundryCreateServiceKey. With the creation of the Communication Arrangement, a User and Password is created on the ABAP Environment system for the APIs that are used in the following stages.
Clone Repositories
In this stage, the Software Components / Git repositories are pulled to the ABAP Environment system using the step abapEnvironmentPullGitRepo. The step can receive a list of Software Components / repositories and pulls them successively.
ATC
In this stage, ATC checks can be executed using abapEnvironmentRunATCCheck. The step can receive Software Components or packages (configured in YML file - as described in configuration). The results are returned in the checkstlye format. With the use of a pipeline extension, quality gates can be configured (see step documentation or the "Extensions" section in the configuration).
Build
This stage is responsible for building an ABAP AddOn for the SAP Cloud Platform ABAP Environment. The build process of the AddOn is done on a Steampunk system with the help of the ABAP Addon Assembly Kit as a Service (AAKaaS). After executing this stage successfully, the AddOn is ready to be tested.
Integration Tests
This stage is intended to be used for testing the AddOn built in the "Build" stage. Nevertheless, it can be configured seperately. In this stage, another ABAP Environment system is created including the AddOn (if configured correctly).
Confirm
This stage is executed if the stage "Publish" is configured. In this stage a manual confirmation is prompted to confirm the publishing of the AddOn.
Publish
In this stage the AddOn built with this pipeline is published. After that, it is ready to be delivered to productive systems.
Post
At the end of every pipeline (successful or unsuccessful), the system is deprovisioned using the step cloudFoundryDeleteService.