Search code examples
githubazure-data-factoryazure-rm-template

How to automate Azure data factory pipeline deployments


I want to automate Azure data factory pipeline deployments. I have Self Hosted Integration runtimes with a different name in each environment (i.e. SHIR-{environment}). I have different data sources and destinations for each environment. (i.e. different SQL server names or Hostnames) How can I perform the automatic weekly deployments to promote changes from GitHub dev branch to stage and stage to production? I don't want to modify these database server names in linked services during the GitHub PR merge.


Solution

  • To set up automated deployment, start with an automation tool, such as Azure DevOps. Azure DevOps provides various interfaces and tools in order to automate the entire process.

    1. A development data factory is created and configured with Azure Repos Git. All developers should have permission to author Data Factory resources like pipelines and datasets.
    2. A developer creates a feature branch to make a change. They debug their pipeline runs with their most recent changes. For more information on how to debug a pipeline run, see Iterative development and debugging with Azure Data Factory.
    3. After a developer is satisfied with their changes, they create a pull request from their feature branch to the main or collaboration branch to get their changes reviewed by peers.
    4. After a pull request is approved and changes are merged in the main branch, the changes get published to the development factory.
    5. When the team is ready to deploy the changes to a test or UAT (User Acceptance Testing) factory, the team goes to their Azure Pipelines release and deploys the desired version of the development factory to UAT. This deployment takes place as part of an Azure Pipelines task and uses Resource Manager template parameters to apply the appropriate configuration.
    6. After the changes have been verified in the test factory, deploy to the production factory by using the next task of the pipelines release.

    For more information follow this link