Remotely starting automation jobs to perform branch operations and run unit tests
In a continuous integration and delivery (CI/CD) workflow, repositories provide centralized storage for software that is to be tested, released, or deployed. You can start a job remotely from an automation server, such as Jenkins, and use the branches REST and merges REST services to merge branches when you push them from your development system to a Pega repository on a source development system.
Pega Platform can communicate with common repository technologies and also can act as a binary repository. Pega Platform can browse, publish, or fetch artifacts that are created whenever an action creates a RAP file: for example, exporting an application, product, branch, or component into a remote system of record. By starting jobs remotely and using the automation server to detect conflicts and merge branches, your organization can deliver higher-quality software more quickly.
For more information about using branches with repositories, see Using branches with repositories in a continuous integration and delivery pipeline.
After you push a branch to a system of record, your automation server tool runs a job. Your pipeline can detect conflicts before a merge. If there are conflicts, the merge does not proceed. If there are no conflicts, the merge proceeds on the development source system. Your pipeline can run all unit test cases or a test suite to validate the quality of your build.
After a merge is completed, you can rebase the rules on your development system to import the most recently committed rules from your system of record. For more information, see Understanding rule rebasing. In addition, you can configure your pipeline to send emails to users, such as when a job starts or when a conflict is detected.
The following figure displays an example workflow of the pipeline:
- Configuring your automation server
Configure your automation server so that you can remotely start jobs on it. Your configuration depends on the automation server that you use.
- Defining the automation server URL
Configure a dynamic system setting on the main development system to define your automation server URL. Your configuration depends on the automation server that you use.
- Configuring a continuous integration and delivery pipeline
After you configure your automation server and your source development system, you can configure a pipeline on your job to automate the testing and merging of rules. Actions that you can do include obtaining merge conflicts, creating branch reviews, and running unit tests.