Power Platform ALM - New Git integration!
A new Git integration feature recently launched and it makes working with Git a lot easier. Now, there’s no need to set up complex commit pipelines that export and unpack code — it’s all handled directly in your development environment. Let’s dive into what this feature offers with a first look!
Git and the Power Platform
Historically, Git and the Power Platform haven’t worked seamlessly together. When my colleague and I started setting up our ALM (Application Lifecycle Management) strategy at PwC, we encountered numerous challenges managing low-code components in Git. Traditional code-first developers often had it easier. However, this new feature now makes it significantly easier for low-code developers to commit their code to Git.
What is Git anyway?
If you’re wondering, "What is Git?"—it’s a version control system that saves and snapshots your code, storing it in a remote repository. This enables developers to trace changes, revert to previous versions, and collaborate in real-time. For a deeper understanding of Git, I highly recommend these resources:
Atlassian website: A comprehensive guide to Git, ideal for understanding its functionality and use cases in software development.
O’Reilly - Learning Git: Although a paid resource, this book offers invaluable insights into the basics of Git.
The new Git feature in the Power Platform
As of today (12-11-2024) the Git feature is only available in early release environments, in managed environments and in Australia, Canada, and Europe environments. You will also need an Azure DevOps subscription and license which are available for free. I recommend setting up a personal Azure DevOps organization to experiment with this new functionality.
I am going to assume you know how to setup your Azure DevOps organization and project here for the sake of simplicity.
- Set Up Your Git Connection
To begin, navigate to the top of the solutions page and click on Git connection.
If you don’t see this option you might need to go to make.preview.powerapps.com instead of your normal make.powerapps.com URL.
- Configure Your Git Repository
You’ll need to input details about your remote repository.
Important to note here:
- You will have to make a distinction on whether you want to connect the environment or only a solution to Git. An extensive explanation on what these differences are is stated here. Basically, Solution binding gives you more flexibility but also gives more complexity.
3. Explore Source Control
- After you have set this up you can switch to the ‘Source control’ tab and you will have Git functionalities integrated in your Dataverse UI.
When another developer receives their own development environment the solution you are working on as a team can then be deployed. If the new development environment is also connected to Git commits will hit the same solution and other developers can check for updates and pull in the changes.
These changes are then reflected in your remote repository in Azure DevOps where your source of truth now resides.
Limitations of the Source control functionality
Here are some limitations I’ve already noticed:
This does not solve the co-authoring problem for canvas apps. When working in the same canvas app simultaneously but in two different environments you will still receive a merge conflict after both committing. At that point you can either keep your own changes or overwrite your work with the incoming changes.
Large solutions still have a bug where the upload to Git will fail. This issue is reportedly being addressed by allowing multiple requests to handle large loads.
You cannot select certain changes when pulling in changes. You have to pull in the full commit, but I guess that was always the case with Git 😁.
This Git integration is a major step forward, bringing low-coders in enterprise settings closer to a full-fledged Software Development Life Cycle process. However, remember: with great power comes great responsibility. When adopting this feature, it’s crucial to have clear processes in place so your team knows exactly how to work with it.
I will be diving further into this feature to see what the other options have to offer. There’s much I haven’t looked into so some further testing it going to be exciting!
Thanks for reading! Let me know if you’re planning to use this feature, and feel free to share your thoughts on how it could benefit your team.
Subscribe to my newsletter
Read articles from Felix Verduin directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Felix Verduin
Felix Verduin
Hi! Welcome to my blog. I believe that technology is the great enabler of the 21st century. While technology is making rapid changes and is evolving quickly people aren't always keeping up. I want to help human beings understand what ICT solutions can bring them for benefits. I am convinced low code and no code platforms will play an integral part in the technology industry in the future. I create Powerapps, Power Automate flows and PowerBI reports to increase business value for different departments. Leveraging Dataverse as the data backbone to create scalable and secure environments I build custom enterprise solutions. My ambition is to enable companies to leverage the Power Platform by implementing the Power Platform in a professional and sustainable way using ALM practices, data management and security best practices. My current home base is Amsterdam (the Netherlands) but in the past I have had the privilege to call Adelaide (South-Australia), Langkawi (Malaysia) and New York City (United States of America) my home for a while. After receiving my bachelor of business administration in hospitality my love for food and beverages has not fizzled out. I still enjoy gastronomy and mixology as a hobby and will always carry this passion with me. Should you have any questions with regard to enquiries or my profile, please do not hesitate to contact me! Kind regards, Felix Verduin