Azure-docs: Why the exported ARM template from the UI is different than the ARM in adf_publish branch ?

Created on 19 Jul 2019  Â·  10Comments  Â·  Source: MicrosoftDocs/azure-docs

In the master branch, I export ARM template.
The exported ARM template contains: linkedTemplates, arm_template.json, arm_template_parameters.json
However, the ARM template from adf_publish branch contains: linkedTemplates, PartialArmTemplates, ARMTemplateForFactory.json, ARMTemplateParametersForFactory.json.

The content of exported linkedTemplates is different than the content of linkedTemplates from adf_publish branch also.

Questions:
Q1. Why is the exported ARM template different than the template in adf_publish branch?
Q2. Is any documentation about the purpose of ARMTemplateForFactory.json, ARMTemplateParametersForFactory.json; linkedTemplates, PartialArmTemplates ?.
Q3. I add a new connection in the feature branch. Why does it generate new commit on the adf_publish branch, I thought adf_publish is the build/ARM version of the master branch?

Thanks,


Document Details

⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Pri1 assigned-to-author data-factorsvc doc-enhancement product-question triaged

All 10 comments

@hung-doan Thank you for your feedback . We will investigate and update the thread further.

Hello @hung-doan and thank you for your inquiry. I can tell you right now, one difference between the ARM template stored in Git and the one generated by the "Export ARM Template" button.
I exported the ARM template of my existing Git-enabled Factory via the button. Then I created a new pipeline and saved, but did _not publish_. Exporting ARM template via the button again included the new pipeline. The one in Git did not change. I did these changes while in the collaboration branch.
This means it is possible to generate a template without publishing.

As for your other questions, I will need to find some internal resources. Thank you for your patience.

@hung-doan Thanks for reaching out on this. We have assigned the issue to the content author, they will evaluate and update the document as appropriate.

@gauravmalhot Could you please take a look into this.

ARM templated pushed to ADF_publish branch only get pushed when you published the changes. It is meant for CICD, to take changes forward to different environment using Release Management like solutions. Can only be done in GIT mode on collaboration branch.
Whereas 'Export ARM template' button is meant to get the template on any branch in git mode or even in Factory mode, even for unsaved/unpublished changes. This is to serve purpose of testing your changes fully, like you want to debug not just a pipeline but want to deploy your changes to some other test factory to test e2e changes affecting triggers, multiple pipelines etc. This is also to test changes about custom parameterization, before making your chnages to master/collaboration branch for custom parameterization you would like to test your changes in your environment where you don't want to publish but just want to check your custom parameterization changes. So you make chnages in your branch for custom parameterization and then export arm template and inspect it.
Hope this answers your question, feel free to ask more.

@hung-doan Does this help?

thanks @MartinJaffer-MSFT for the clarification. It makes sense to me, you can close this item if you want to.

Could you also please provide an answer to Huan's Q3: "I add a new connection in the feature branch. Why does it generate new commit on the adf_publish branch, I thought adf_publish is the build/ARM version of the master branch?"

Specifically, new connections would directly commit to adf_publish branch without the need to press the "Publish" button in ADF.

Thanks.

Hi @jonathanneo,
The answer to Huan's Q3 is that any new connections/linked services created in feature branch directly publish to ADF service as the secrets/credentials are not stored in Git for security reasons. To avoid this behavior it is a best practice to use Azure KeyVault as described in the documentation here:
https://docs.microsoft.com/en-us/azure/data-factory/source-control#using-passwords-from-azure-key-vault
Hope this addresses your concern!

please-close

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ianpowell2017 picture ianpowell2017  Â·  3Comments

JamesDLD picture JamesDLD  Â·  3Comments

behnam89 picture behnam89  Â·  3Comments

mrdfuse picture mrdfuse  Â·  3Comments

spottedmahn picture spottedmahn  Â·  3Comments