Background
I am trying to implement application life cycle for our Dynamics 365 customisations using Azure Devops. Currently we have three environments(1 dev, 1 test and 1 production). The idea will be to:
- Create a base Unmanaged solution in dev.
- Export it
- Use Solution Packager to extract code and then submit to source control.
- After that use pipelines to.
- Repackage the source code using Solution Packager
- Deploy to the downstream environments.
Questions
I am hoping if you could help me with the solutions, source control, and best practices around it. Creating unmanaged solution works well, but
- is creating patches for customisation changes best practice?
- If yes, then deploying patches to test and live environments the best practice? Or deploying the whole solution best practice?
- If using patches, how do you put patches in source control? Is the best practice to extract using Solution Packager and save as a separate branch from the master branch(which is the base solution files). If I do this, this would mean that my pipelines will deploy the whole solution instead of a patch.
I hope my questions make sense, and thanks a lot for taking out time for this