Forum Discussion
GitFlow possible with Synapse?
My team has been using synapse for some time across our dev, uat, and production environments. So far, they have not utilized any CD to deploy up environments but instead promote artifacts manually. The reason being is that their UAT environment is rarely ready to go to production. Features often sit in UAT for many months before deployment to production, but are required to be in UAT for testing with the full dataset. This seems to indicate the need for a branching strategy like GitFlow to allow for selective PRs using cherry-picking or git revert to allow for only ready features to production.
Has anyone faced this issue or have any tips on how to resolve this challenge. It seems unlike traditional app development; feature flags don't solve the issue as they only really can work inside pipelines.
Thanks!
2 Replies
- NilendraFabricCopper Contributor
Hi ,
While GitFlow is not directly supported in Azure Synapse Analytics, it is possible to implement a similar branching strategy with some modifications to suit Synapse’s unique environment. Here’s how you can approach this challenge:Branching Strategy1. Create a main branch that represents your production environment.2. Create a development branch for ongoing development work.3. Create feature branches off the development branch for individual features.4. Use a UAT branch to represent your UAT environment.Workflow1. Develop features in feature branches.2. Merge completed features into the development branch.3. Periodically merge the development branch into the UAT branch for testing.4. When a feature is ready for production, cherry-pick the specific commits from the UAT branch to the main branch.ImplementationTo implement this workflow in Synapse:1. Use Azure DevOps or GitHub for source control integration with Synapse.2. Utilize Azure Pipelines or GitHub Actions for automating the deployment process.3. Create separate Synapse workspaces for each environment (dev, UAT, production).4. Use ARM templates generated by Synapse to deploy changes between environmentsSynapse doesn’t support multiple branches within a single workspace. To overcome this, use separate workspaces for each environment- SynapseFanCopper Contributor
Thank you Nilendra,
I have prototyped this solution that you proposed. Have you ever seen method used successfully with Microsoft Synapse? I just am worried that we are going strongly against what Microsoft recommends for Synapse deployments, and if there might be a better way to tackle the issue.