You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/data-factory/ci-cd-github-troubleshoot-guide.md
+28-14Lines changed: 28 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ ms.service: data-factory
9
9
ms.subservice: ci-cd
10
10
ms.custom: synapse
11
11
ms.topic: troubleshooting
12
-
ms.date: 11/09/2021
12
+
ms.date: 04/18/2022
13
13
---
14
14
15
15
# Troubleshoot CI-CD, Azure DevOps, and GitHub issues in Azure Data Factory and Synapse Analytics
@@ -33,7 +33,7 @@ Sometimes you encounter Authentication issues like HTTP status 401. Especially w
33
33
34
34
#### Cause
35
35
36
-
What we have observed is that the token was obtained from the original tenant, but the service is in guest tenant and trying to use the token to visit DevOps in guest tenant. This is not the expected behavior.
36
+
The token was obtained from the original tenant, but the service is in guest tenant trying to use the token to visit DevOps in guest tenant. This type of token access isn't the expected behavior.
37
37
38
38
#### Recommendation
39
39
@@ -101,7 +101,7 @@ When trying to publish changes, you get following error message:
101
101
`
102
102
### Cause
103
103
104
-
You have detached the Git configuration and set it up again with the "Import resources" flag selected, which sets the service as "in sync". This means no change during publication..
104
+
You have detached the Git configuration and set it up again with the "Import resources" flag selected, which sets the service as "in sync". This means no change during publication.
105
105
106
106
#### Resolution
107
107
@@ -128,7 +128,7 @@ You are unable to move a data factory from one Resource Group to another, failin
128
128
129
129
#### Resolution
130
130
131
-
You can delete the SSIS-IR and Shared IRs to allow the move operation. If you do not want to delete the integration runtimes, then the best way is to follow the copy and clone document to do the copy and after it's done, delete the old data factory.
131
+
You can delete the SSIS-IR and Shared IRs to allow the move operation. If you don't want to delete the integration runtimes, then the best way is to follow the copy and clone document to do the copy and after it's done, delete the old data factory.
132
132
133
133
### Unable to export and import ARM template
134
134
@@ -156,29 +156,43 @@ Until recently, the it was only possible to publish a pipeline for deployments b
156
156
157
157
CI/CD process has been enhanced. The **Automated** publish feature takes, validates, and exports all ARM template features from the UI. It makes the logic consumable via a publicly available npm package [@microsoft/azure-data-factory-utilities](https://www.npmjs.com/package/@microsoft/azure-data-factory-utilities). This method allows you to programmatically trigger these actions instead of having to go to the UI and click a button. This method gives your CI/CD pipelines a **true** continuous integration experience. Follow [CI/CD Publishing Improvements](./continuous-integration-delivery-improvements.md) for details.
158
158
159
-
### Cannot publish because of 4MB ARM template limit
159
+
### Cannot publish because of 4-MB ARM template limit
160
160
161
161
#### Issue
162
162
163
-
You cannot deploy because you hit Azure Resource Manager limit of 4MB total template size. You need a solution to deploy after crossing the limit.
163
+
You can't deploy because you hit Azure Resource Manager limit of 4-MB total template size. You need a solution to deploy after crossing the limit.
164
164
165
165
#### Cause
166
166
167
-
Azure Resource Manager restricts template size to be 4-MB. Limit the size of your template to 4-MB, and each parameter file to 64 KB. The 4MB limit applies to the final state of the template after it has been expanded with iterative resource definitions, and values for variables and parameters. But, you have crossed the limit.
167
+
Azure Resource Manager restricts template size to be 4-MB. Limit the size of your template to 4-MB, and each parameter file to 64 KB. The 4-MB limit applies to the final state of the template after it has been expanded with iterative resource definitions, and values for variables and parameters. But, you have crossed the limit.
168
168
169
169
#### Resolution
170
170
171
171
For small to medium solutions, a single template is easier to understand and maintain. You can see all the resources and values in a single file. For advanced scenarios, linked templates enable you to break down the solution into targeted components. Follow best practice at [Using Linked and Nested Templates](../azure-resource-manager/templates/linked-templates.md?tabs=azure-powershell).
172
172
173
+
### DevOps API limit of 20 MB causes ADF trigger twice instead of once
174
+
175
+
#### Issue
176
+
177
+
While publishing ADF resources, the azure pipeline triggers twice instead of once.
178
+
179
+
#### Cause
180
+
181
+
DevOps has limitation of 20-MB REST api load for arm templates, linked template and global parameters. Large ADF resources are reorganized to get around GitHub API rate limits. That may rarely cause ADF DevOps APIs hit 20-MB limit.
182
+
183
+
#### Resolution
184
+
185
+
Use ADF **Automated publish** (preferred) or **manual trigger** method to trigger once instead of twice.
186
+
173
187
### Cannot connect to GIT Enterprise
174
188
175
189
##### Issue
176
190
177
-
You cannot connect to GIT Enterprise because of permission issues. You can see error like **422 - Unprocessable Entity.**
191
+
You can't connect to GIT Enterprise because of permission issues. You can see error like **422 - Unprocessable Entity.**
178
192
179
193
#### Cause
180
194
181
-
* You have not configured Oauth for the service.
195
+
* You haven't configured Oauth for the service.
182
196
* Your URL is misconfigured. The repoConfiguration should be of type [FactoryGitHubConfiguration](/dotnet/api/microsoft.azure.management.datafactory.models.factorygithubconfiguration?view=azure-dotnet&preserve-view=true)
183
197
184
198
#### Resolution
@@ -192,7 +206,7 @@ An instance of the service, or the resource group containing it, was deleted and
192
206
193
207
#### Cause
194
208
195
-
It is possible to recover the instance only if source control was configured for it with DevOps or Git. This action will bring all the latest published resources, but **will not** restore any unpublished pipelines, datasets, or linked services. If there is no Source control, recovering a deleted instance from the Azure backend is not possible because once the service receives the delete command, the instance is permanently deleted without any backup.
209
+
It is possible to recover the instance only if source control was configured for it with DevOps or Git. This action will bring all the latest published resources, but **will not** restore any unpublished pipelines, datasets, or linked services. If there is no Source control, recovering a deleted instance from the Azure backend isn't possible because once the service receives the delete command, the instance is permanently deleted without any backup.
196
210
197
211
#### Resolution
198
212
@@ -206,7 +220,7 @@ To recover a deleted service instance that has source control configured, refer
206
220
207
221
* If there was a Self-hosted Integration Runtime in a deleted data factory or Synapse workspace, a new instance of the IR must be created in a new factory or workspace. The on-premises or virtual machine IR instance must be uninstalled and reinstalled, and a new key obtained. After setup of the new IR is completed, the Linked Service must be updated to point to new IR and the connected tested again, or it will fail with error **invalid reference.**
208
222
209
-
### Cannot deploy to different stage using automatic publish method
223
+
### Can't deploy to different stage using automatic publish method
210
224
211
225
#### Issue
212
226
Customer followed all necessary steps like installing NPM package and setting up a higher stage using Azure DevOps, but deployment still fails.
@@ -269,7 +283,7 @@ You can monitor the pipeline using **SDK**, **Azure Monitor** or [Monitor](./mon
269
283
You want to perform unit testing during development and deployment of your pipelines.
270
284
271
285
#### Cause
272
-
During development and deployment cycles, you may want to unit test your pipeline before you manually or automatically publish your pipeline. Test automation allows you to run more tests, in less time, with guaranteed repeatability. Automatically re-testing all your pipelines before deployment gives you some protection against regression faults. Automated testing is a key component of CI/CD software development approaches: inclusion of automated tests in CI/CD deployment pipelines can significantly improve quality. In long run, tested pipeline artifacts are reused saving you cost and time.
286
+
During development and deployment cycles, you may want to unit test your pipeline before you manually or automatically publish your pipeline. Test automation allows you to run more tests, in less time, with guaranteed repeatability. Automatically retesting all your pipelines before deployment gives you some protection against regression faults. Automated testing is a key component of CI/CD software development approaches: inclusion of automated tests in CI/CD deployment pipelines can significantly improve quality. In long run, tested pipeline artifacts are reused saving you cost and time.
273
287
274
288
#### Resolution
275
289
Because customers may have different unit testing requirements with different skillsets, usual practice is to follow following steps:
@@ -331,7 +345,7 @@ If you want to share integration runtimes across all stages, consider using a te
331
345
### GIT publish may fail because of PartialTempTemplates files
332
346
333
347
#### Issue
334
-
When you have 1000s of old temporary ARM json files in PartialTemplates folder, publish may fail.
348
+
When you have 1000 s of old temporary ARM json files in PartialTemplates folder, publish may fail.
335
349
336
350
#### Cause
337
351
On publish, ADF fetches every file inside each folder in the collaboration branch. In the past, publishing generated two folders in the publish branch: PartialArmTemplates and LinkedTemplates. PartialArmTemplates files are no longer generated. However, because there can be many old files (thousands) in the PartialArmTemplates folder, this may result in many requests being made to GitHub on publish and the rate limit being hit.
@@ -347,4 +361,4 @@ For more help with troubleshooting, try the following resources:
0 commit comments