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/synapse-analytics/cicd/continuous-integration-delivery.md
+7-18Lines changed: 7 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,21 +8,7 @@ ms.topic: conceptual
8
8
ms.date: 10/08/2021
9
9
ms.author: liud
10
10
ms.reviewer: pimorano
11
-
ms.search.keywords:
12
-
- CICD
13
-
- Synapse
14
-
- source control
15
-
ms.search.form:
16
-
- CICD
17
-
- source control 1
18
-
ms.search.features:
19
-
- CICD
20
-
- source control 2
21
-
searchScope:
22
-
- Deployment
23
-
- CICD
24
-
- Azure
25
-
tags: CICD, source control 1
11
+
26
12
---
27
13
28
14
# Continuous integration and delivery for an Azure Synapse Analytics workspace
@@ -42,7 +28,7 @@ To automate the deployment of an Azure Synapse workspace to multiple environment
42
28
- Prepare an Azure DevOps project for running the release pipeline.
43
29
-[Grant any users who will check in code Basic access at the organization level](/azure/devops/organizations/accounts/add-organization-users?view=azure-devops&tabs=preview-page&preserve-view=true), so they can see the repository.
44
30
- Grant Owner permission to the Azure Synapse repository.
45
-
- Make sure that you've created a self-hosted Azure DevOps VM agent or use an Azure DevOps hosted agent.
31
+
- Make sure that you've created a self-hosted Azure DevOps VM agent or use an Azure DevOps hosted agent.
46
32
- Grant permissions to [create an Azure Resource Manager service connection for the resource group](/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml&preserve-view=true).
47
33
- An Azure Active Directory (Azure AD) administrator must [install the Azure DevOps Synapse Workspace Deployment Agent extension in the Azure DevOps organization](/azure/devops/marketplace/install-extension).
48
34
- Create or nominate an existing service account for the pipeline to run as. You can use a personal access token instead of a service account, but your pipelines won't work after the user account is deleted.
@@ -197,10 +183,13 @@ The deployment task supports 3 types of operations, validate only, deploy and v
197
183
TargetWorkspaceName: '<target workspace name>'
198
184
```
199
185
200
-
**Deploy** The inputs of the operation deploy include Synapse workspace template and parameter template, which can be created after publishing in the workspace publish branch or after the validation. It is same as the version 1.x.
201
-
202
186
**Validate and deploy** can be used to directly deploy the workspace from non-publish branch with the artifact root folder.
203
187
188
+
> [!NOTE]
189
+
> The deployment task needs to download dependency JS files from this endpoint **web.azuresynapse.net** when the operation type is selected as **Validate** or **Validate and deploy**. Please ensure the endpoint **web.azuresynapse.net** is allowed if network policies are enabled on the VM.
190
+
191
+
**Deploy** The inputs of the operation deploy include Synapse workspace template and parameter template, which can be created after publishing in the workspace publish branch or after the validation. It is same as the version 1.x.
192
+
204
193
You can choose the operation types based on the use case. Following part is an example of the deploy.
205
194
206
195
1. In the task, select the operation type as **Deploy**.
Copy file name to clipboardExpand all lines: articles/synapse-analytics/cicd/source-control.md
+21-28Lines changed: 21 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,21 +8,14 @@ ms.topic: conceptual
8
8
ms.date: 11/20/2020
9
9
ms.author: liud
10
10
ms.reviewer: pimorano
11
-
ms.search.keywords: CICD, Synapse, source control
12
-
ms.search.form: CICD, source control 1
13
-
ms.search.features: CICD, source control 2
14
-
tags: CICD, source control 1
15
-
searchScope:
16
-
- Source control
17
-
- CICD
18
-
- Azure
11
+
19
12
---
20
13
21
14
# Source control in Synapse Studio
22
15
23
16
By default, Synapse Studio authors directly against the Synapse service. If you have a need for collaboration using Git for source control, Synapse Studio allows you to associate your workspace with a Git repository, Azure DevOps, or GitHub.
24
17
25
-
This article will outline how to configure and work in a Synapse workspace with git repository enabled. And we also highlight some best practices and a troubleshooting guide.
18
+
This article outlines how to configure and work in a Synapse workspace with git repository enabled. And we also highlight some best practices and a troubleshooting guide.
26
19
27
20
> [!NOTE]
28
21
>To use GitHub in Azure Gov and Microsoft Azure operated by 21Vianet, you can bring your own GitHub OAuth application in Synapse Studio for git integration. The configure experience is same with ADF. You can refer to the [announcement blog](https://techcommunity.microsoft.com/t5/azure-data-factory/cicd-improvements-with-github-support-in-azure-government-and/ba-p/2686918).
@@ -98,7 +91,7 @@ For more info about connecting Azure Repos to your organization's Active Directo
98
91
99
92
### Use a cross tenant Azure DevOps account
100
93
101
-
When your Azure DevOps is not in the same tenant as the Synapse workspace, you can configure the workspace with your cross tenant Azure DevOps account with the guide below.
94
+
When your Azure DevOps isn't in the same tenant as the Synapse workspace, you can configure the workspace with cross tenant Azure DevOps account.
102
95
103
96
1. Select the **Cross tenant sign in** option and click **Continue**
104
97
@@ -157,13 +150,13 @@ Connecting to a GitHub organization requires the organization to grant permissio
157
150
158
151
If you're connecting to GitHub from Synapse Studio for the first time, follow these steps to connect to a GitHub organization.
159
152
160
-
1. In the Git configuration pane, enter the organization name in the *GitHub Account* field. A prompt to login into GitHub will appear.
153
+
1. In the Git configuration pane, enter the organization name in the *GitHub Account* field. A prompt to login into GitHub appears.
161
154
162
155
1. Login using your user credentials.
163
156
164
-
1. You'll be asked to authorize Synapse as an application called *Azure Synapse*. On this screen, you will see an option to grant permission for Synapse to access the organization. If you don't see the option to grant permission, ask an admin to manually grant the permission through GitHub.
157
+
1. You are asked to authorize Synapse as an application called *Azure Synapse*. On this screen, you see an option to grant permission for Synapse to access the organization. If you don't see the option to grant permission, ask an admin to manually grant the permission through GitHub.
165
158
166
-
Once you follow these steps, your workspace will be able to connect to both public and private repositories within your organization. If you are unable to connect, try clearing the browser cache and retrying.
159
+
Once you follow these steps, your workspace is able to connect to both public and private repositories within your organization. If you're unable to connect, try clearing the browser cache and retrying.
167
160
168
161
#### Already connected to GitHub using a personal account
169
162
@@ -181,11 +174,11 @@ If you have already connected to GitHub and only granted permission to access a
Once you complete these steps, your workspace will be able to connect to both public and private repositories within your organization.
177
+
Once you complete these steps, your workspace is able to connect to both public and private repositories within your organization.
185
178
186
179
## Version control
187
180
188
-
Version control systems (also known as _source control_) allows developers to collaborate on code and track changes.Source control is an essential tool for multi-developer projects.
181
+
Version control systems (also known as _source control_) allow developers to collaborate on code and track changes.Source control is an essential tool for multi-developer projects.
189
182
190
183
### Creating feature branches
191
184
@@ -197,30 +190,30 @@ Once the new branch pane appears, enter the name of your feature branch and sele
197
190
198
191

199
192
200
-
When you are ready to merge the changes from your feature branch to your collaboration branch, click on the branch dropdown and select **Create pull request**. This action takes you to Git provider where you can raise pull requests, do code reviews, and merge changes to your collaboration branch. You are only allowed to publish to the Synapse service from your collaboration branch.
193
+
When you're ready to merge the changes from your feature branch to your collaboration branch, click on the branch dropdown and select **Create pull request**. This action takes you to Git provider where you can raise pull requests, do code reviews, and merge changes to your collaboration branch. You're only allowed to publish to the Synapse service from your collaboration branch.
201
194
202
195

203
196
204
197
### Configure publishing settings
205
198
206
-
By default, Synapse Studio generates the workspace templates and saves them into a branch called `workspace_publish`. To configure a custom publish branch, add a `publish_config.json` file to the root folder in the collaboration branch. When publishing, Synapse Studio reads this file, looks for the field `publishBranch`, and saves workspace template files to the specified location. If the branch doesn't exist, Synapse Studio will automatically create it. And example of what this file looks like is below:
199
+
By default, Synapse Studio generates the workspace templates and saves them into a branch called `workspace_publish`. To configure a custom publish branch, add a `publish_config.json` file to the root folder in the collaboration branch. When you publishing, Synapse Studio reads this file, looks for the field `publishBranch`, and saves workspace template files to the specified location. If the branch doesn't exist, Synapse Studio would automatically create it. And example of what this file looks like is below:
207
200
208
201
```json
209
202
{
210
203
"publishBranch": "workspace_publish"
211
204
}
212
205
```
213
206
214
-
Synapse Studio can only have one publish branch at a time. When you specify a new publish branch, the previous publish branch would not been deleted. If you want to remove the previous publish branch, delete it manually.
207
+
Synapse Studio can only have one publish branch at a time. When you specify a new publish branch, the original publish branch would not been deleted. If you want to remove the previous publish branch, delete it manually.
215
208
216
209
217
210
### Publish code changes
218
211
219
-
After merging changes to the collaboration branch, click **Publish** to manually publish your code changes in the collaboration branch to the Synapse service.
212
+
After merging changes to the collaboration branch, click **Publish** to manually publish your code changes in the collaboration branch to the Synapse service.
220
213
221
214

222
215
223
-
A side pane will open where you confirm that the publish branch and pending changes are correct. Once you verify your changes, click **OK** to confirm the publish.
216
+
A side pane opens where you confirm that the publish branch and pending changes are correct. Once you verify your changes, click **OK** to confirm the publish.
224
217
225
218

226
219
@@ -238,21 +231,21 @@ Enter your workspace name and click **Disconnect** to remove the Git repository
238
231
After you remove the association with the current repo, you can configure your Git settings to use a different repo and then import existing resources to the new repo.
239
232
240
233
> [!IMPORTANT]
241
-
> Removing Git configuration from a workspace doesn't delete anything from the repository. Synapse workspace will contain all published resources. You can continue to edit the workspace directly against the service.
234
+
> Removing Git configuration from a workspace doesn't delete anything from the repository. Synapse workspace contains all published resources. You can continue to edit the workspace directly against the service.
242
235
243
236
## Best practices for Git integration
244
237
245
-
-**Permissions**. After you have a git repository connected to your workspace, anyone who can access to your git repo with any role in your workspace will be able to update artifacts, like sql script, notebook,spark job definition, dataset, dataflow and pipeline in git mode. Typically you don't want every team member to have permissions to update workspace.
238
+
-**Permissions**. After you have a git repository connected to your workspace, anyone who can access to your git repo with any role in your workspace is able to update artifacts, like sql script, notebook,spark job definition, dataset, dataflow and pipeline in git mode. Typically you don't want every team member to have permissions to update workspace.
246
239
Only grant git repository permission to Synapse workspace artifact authors.
247
-
-**Collaboration**. It's recommended to not allow direct check-ins to the collaboration branch. This restriction can help prevent bugs as every check-in will go through a pull request review process described in [Creating feature branches](source-control.md#creating-feature-branches).
248
-
-**Synapse live mode**. After publishing in git mode, all changes will be reflected in Synapse live mode. In Synapse live mode, publishing is disabled. And you can view, run artifacts in live mode if you have been granted the right permission.
249
-
-**Edit artifacts in Studio**. Synapse studio is the only place you can enable workspace source control and sync changes to git automatically. Any change via SDK, PowerShell, will not be synced to git. We recommend you always edit artifact in Studio when git is enabled.
240
+
-**Collaboration**. It's recommended to not allow direct check-ins to the collaboration branch. This restriction can help prevent bugs as every check-in goes through a pull request review process described in [Creating feature branches](source-control.md#creating-feature-branches).
241
+
-**Synapse live mode**. After publishing in git mode, all changes are reflected in Synapse live mode. In Synapse live mode, publishing is disabled. And you can view, run artifacts in live mode if you have been granted the right permission.
242
+
-**Edit artifacts in Studio**. Synapse studio is the only place you can enable workspace source control and sync changes to git automatically. Any change via SDK, PowerShell,is not synced to git. We recommend you always edit artifact in Studio when git is enabled.
250
243
251
244
## Troubleshooting git integration
252
245
253
246
### Access to git mode
254
247
255
-
If you have been granted the permission to the GitHub git repository linked with your workspace, but you can not access to Git mode:
248
+
If you have been granted the permission to the GitHub git repository linked with your workspace, but you cannot access to Git mode:
256
249
257
250
1. Clear your cache and refresh the page.
258
251
@@ -271,8 +264,8 @@ If the publish branch is out of sync with the collaboration branch and contains
271
264
## Unsupported features
272
265
273
266
- Synapse Studio doesn't allow cherry-picking of commits or selective publishing of resources.
274
-
- Synapse Studio doesn't support customize commit message.
275
-
- By design, delete action in Studio will be committed to git directly
267
+
- Synapse Studio doesn't support self-customized commit message.
268
+
- By design, delete action in Studio is committed to git directly
0 commit comments