Source code-centric approach
The source code-centric approach is the second one we would like to introduce. As the name suggests, the source code (or repository) is your single source of truth in this approach.
An implementation would export the solution from development and unpack it to the repository. When the solution should be deployed to the downstream environment, the solution ZIP file is packed from the repository and deployed to the target environment.
This approach does require some kind of automation through pipelines. It is not really possible to do this manually. However, it is possible to introduce it after the environment-centric approach has been used earlier.
The following figure explains this approach. There is no direct relation between the environments. Everything moves through the repository.
Figure 7.2 – Environment structure and flow of the source code-centric approach
Advantages and disadvantages
This approach does require more management and discipline. It also needs to be implemented in an automated approach via pipelines. Furthermore, the pipelines get more complex.
The dependency on certain environments is minimized. This means that if the development environment becomes unusable for any reason, it is possible to recreate it from the current version in the repository.
A branching approach, which is normally used when it comes to software development, can be implemented with this approach as well. This would make it easier for developers to start with Power Platform. We will go more into detail about this later in this chapter.