This repo demonstrates two different CI/CD flows handling Rule Applications.
It is published in correlation with a two-post blog series:
- Part 1: GitHub Push Triggered, File-Sourced Rule App, irJS Compiling Pipeline
- Part 2: irCatalog Check-in Triggered, Catalog-Sourced Rule App, Promoting Pipeline
This pipeline is a demonstration of file-based Rule Apps that use GitHub as the repository for both Rule Apps and Test Scenarios, allowing them to be tested and compiled using the irDistribution service upon checkin.
- A Rule App being checked into GitHub triggers the pipeline to execute.
- The Rule App is pulled from GitHub and run against all Test Scenarios that exist in the same folder.
- If all test scenarios pass, the Rule App is compiled via the irDistribution Service into a .js file.
- The compiled .js file is published as a build artifact.
- The appropriate InRuleLicense.xml file is saved in the Library Secure File store
- The appropriate irDistributionKey variable has been set in an IrJsCredentials Library Variable Group store
This pipeline is a demonstration of irCatalog-based Rule Apps that use GitHub as the repository for Test Scenarios, allowing them to be tested and promoted from one catalog to another when the Rule App is checked into a Catalog.
- A custom component is added to the irCatalog deployment that allows Rule App checkins to trigger code.
- A Rule App being checked into the irCatalog runs code that manually triggers the pipeline to execute.
- The Rule App is pulled from the Catalog and run against all Test Scenarios that exist in the same folder.
- If all test scenarios pass, the Rule App is promoted from a source irCatalog instance to a target irCatalog instance - IE from Development to UAT
- The appropriate InRuleLicense.xml file is saved in the Library Secure File store
- The appropriate source credential variables have been set in a SourceCatCredsForDev Library Variable Group store
- SourceCatalogUri
- SourceCatalogUsername
- SourceCatalogPassword (secret)
- The appropriate destination credential variables have been set in a DestCatCredsForUAT Library Variable Group store
- DestinationCatalogUri
- DestinationCatalogUsername
- DestinationCatalogPassword (secret)