A build system for package based development in Salesforce, delivered as a node cli that can be implemented in any CI/CD system of choice.Read more about the cli and details here - https://docs.dxatscale.io
Features
- 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://docs.dxatscale.io
The project is delivered as a CLI that can be deployed in any CI/CD system, The module is available in NPM or can be
used by using the docker image
Motivation
-
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.
CI/CD Reference Implementation
Getting started guides for popular CI/CD platforms along with reference pipelines are available here
Installing sfpowerscripts locally
sfpowerscripts can be installed on your local device using npm
npm i -g @dxatscale/sfpowerscripts
Docker
Docker images for sfpowerscripts are available at GitHub Container Registry.
We recommend using the sfpowerscripts docker image to avoid breakages in your CI/CD pipelines due to updates in sfpowerscripts or any of its dependencies such as the SFDX CLI.
Build Instructions
To build sfpowerscripts execute the following on the terminal:
npm i -g lerna #Install Lerna Globally
cd <sfpowerscripts directory> # Navigate to the checked out directory
npm i
lerna run build
To run unit tests
lerna run test
To debug and test plugin
cd packages/sfpowerscripts-cli
npm link
Maintainers
List of Maintainers are available in the link
Where do I reach for queries?
Please create an issue in the repo for bugs or utilize GitHub Discussions for other queries. Join our Slack Community as well.
License