A build system for package based development in Salesforce , delivered as a sfdx plugin that can be implemented in any CI/CD system of choice.Read more about the plugin and details here - https://dxatscale.gitbook.io/sfpowerscripts/
- Features an Orchestrator, which utilizes sfdx-project.json as the source of truth for driving the build system, ensuring very low maintenance on programs often dealing with multiple number of packages
- Builds packages in parallel by respecting dependencies
- Ability to selectively build changed packages in a mono repo
- Ability to deploy only packages that are changed in repo
- Pooling commands to prepare a pool of scratch org's with packages pre installed for optimized Pull/Merge Request validation
- Artifacts Driven, all create commands produce an artifact or operate on an artifact
- Integrate with any CI/CD system of choice
- All commands are enabled with statsD, for collecting metrics about your pipeline.
There are lot more features to explore. Read more at https://dxatscale.gitbook.io/sfpowerscripts/features
The project is delivered as a SFDX CLI Plugin that can be deployed in any CI/CD system, The plugin is available here
-
Need for artifact driven build system for package based development models especially on complex and large programs
-
Providing additional functionality that is either not supported by the sfdx-cli, such as data packages or automatically understanding tests in a given package
-
Ease of use, one should not be spending too much time scripting a pipeline.
Sample pipelines demonstrating the usage of sfpowerscripts are available here
Docker images for sfpowerscripts are available at Docker Hub.
The sfpowerscripts docker image has the following SFDX CLI plugins installed:
We recommend using the sfpowerscripts docker image to avoid breakages in your CICD pipelines due to updates in sfpowerscripts or any of its dependencies such as the SFDX CLI.
To build sfpowerscripts execute the following on the terminal:
npm i -g lerna #Install Lerna Globally
cd <sfpowerscrips directory> # Navigate to the checked out directory
lerna bootstrap
lerna run build
To run unit tests
lerna run test
To debug and test plugin
cd sfpowerscripts-cli
sfdx plugins:link
List of Maintainers are available in the link
Please create an issue in the repo for bugs or utilize GitHub Discussions for other queries