This is demo repository for a blog series focusing on my personal experience of setting up good DevOps practice for D365/Power Apps project.
- Install latest LTS version of Node.js
- Open solution folder in terminal and run
npm install
This project is following Conversational Commits and Semantic Versioning conventions. Please make sure you are familiar with them.
To make a commit run npm run git-cz
or manually type commit message in suitable format.
This project use "Customization as Code" approach for developing CDS solutions. Project named "Solutions" is used to store customization files.
Any customization changes you made should be exported to the repo. Create a PR to merge this changes to mainline as usual.
To export solution from CDS, open "spkl" folder in terminal and run unpack.bat
and follow instructions. To import customizations to CDS run pack+import.bat
.
Always take and publish last changes to development environment before starting new feature branch.
This project use spkl to develop plugins. Never use Plugin Registration tool to deploy plugins or steps. Instead of this, decorate plugin types with CrmPluginRegistration
attribute and use deploy-plugins.bat
or deploy-workflows.bat
scripts.
Don't forget to add newly registered plugin or step to CDS solution
Don't forget to unpack CDS solution to keep plugin configuration in sync with customizations
Each plugin use case must be covered with Unit test. Use FakeXrmEasy to mock CDS related calls.
Use .runsettings
to configure Code Coverage. Always check if you test all code paths.
Use earlybound.bat
script to generate early bound classes. EB configuration should be stored with generated code.
To start a release run npm run release