0
votes

I have two instances of Azure Data Factory in which one is integrated with GIT repo and another is not.

I have taken ARM templates from non GIT ADF instance using Export ARM template option.

I have to deploy this ARM template in the second ADF instance using azure DevOps pipeline.

How should I do this process using the devOps pipeline. Is there any way to fetch this downloaded ARM templates using devOps pipeline and deploy in another ADF instance?

Also before deployment I have to replace some text in the json files. (ex: instance01/tmp/file to instance02/tmp/file) Is there any shell script that can be make use here?

1
Not get your latest information, is DreadedFrost's answer helpful for you? Or if you have any concern, feel free to share it below. - Hugh Lin
Please provide feedback if the answer was helpful or needs to be elaborated more. - DreadedFrost

1 Answers

1
votes

Deploying the code to the other Data Factory will not be a problem.

After downloading the ARM template for the non Git integrated one there should be a parameter for what Data Factory you are deploying to. It would be as simple as updating that parameter to point to the other instance of Data Factory and deploying the ARM template either via Azure DevOps or Powershell w/ the Incremental deployment. This is possible since the deployment will do a delta and each pipeline/linked service/ data set will be it's own resource it should deploy the new. Just be careful if there are any conflicts on the naming standard.

The issue you will run into will be the source code definition. The way the CI/CD integration works is the collaboration branch, usually master, is defined and when clicking publish the changes are consolidated and pushed to adf_publish by default. The adf_publish will be the definition of the Data Factory that is published. Since we are publishing outside of a repository neither the master nor adf_publish will have any knowledge of the changes. Unfortunately given that adf_publish cannot merge back into master the best way might be to stand up a new repo or reimport the data factory definition after the manual publish has occurred.