Skip to content

Commit 644d43a

Browse files
author
ecfan
committed
Clarity edits, editorial edits
1 parent 556a6de commit 644d43a

File tree

1 file changed

+35
-25
lines changed

1 file changed

+35
-25
lines changed

articles/logic-apps/set-up-devops-deployment-single-tenant-azure-logic-apps.md

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ If you don't have a Standard logic app, you can still follow this guide using th
3636

3737
## Deploy infrastructure resources
3838

39-
To try the DevOps deployment experience without prior Standard logic app or infrastructure setup, use the following sample projects to deploy an example Standard logic app and infrastructure, based whether you want to use GitHub or Azure DevOps:
39+
To try the DevOps deployment experience without prior Standard logic app or infrastructure setup, use the following sample projects so you can set up deployment for an example Standard logic app and infrastructure, based whether you want to use GitHub or Azure DevOps:
4040

4141
- [GitHub sample for single-tenant Azure Logic Apps](https://github.com/Azure/logicapps/tree/master/github-sample)
4242

@@ -50,47 +50,57 @@ Both samples include the following resources that a Standard logic app uses to r
5050

5151
| Resource name | Required | Description |
5252
|---------------|----------|-------------|
53-
| Standard logic app | Yes | This Azure resource contains the workflows that run in single-tenant Azure Logic Apps. |
53+
| Standard logic app | Yes | This Azure resource contains the workflows that run in single-tenant Azure Logic Apps. <br><br>**Important**: In your logic app project, each workflow has a **workflow.json** file that contains the workflow definition, which includes the trigger and action definitions. |
54+
| API connections | Yes, if API connections exist | These Azure resources define any managed API connections that your workflows use to run managed connector operations, such as Office 365, SharePoint, and so on. <br><br>**Important**: In your logic app project, the **connections.json** file contains metadata, endpoints, and keys for any managed API connections and Azure functions that your workflows use. To use different connections and functions in each environment, make sure that you parameterize the **connections.json** file and update the endpoints. <br><br>For more information, review [API connection resources and access policies](#api-connection-resources). |
5455
| Functions Premium or App Service hosting plan | Yes | This Azure resource specifies the hosting resources to use for running your logic app, such as compute, processing, storage, networking, and so on. <br><br>**Important**: In the current experience, the Standard logic app resource requires the [**Workflow Standard** hosting plan](logic-apps-pricing.md#standard-pricing), which is based on the Azure Functions Premium hosting plan. |
5556
| Azure storage account | Yes, for both stateful and stateless workflows | This Azure resource stores the metadata, keys for access control, state, inputs, outputs, run history, and other information about your workflows. |
5657
| Application Insights | Optional | This Azure resource provides monitoring capabilities for your workflows. |
57-
| API connections | Optional, if none exist | These Azure resources define any managed API connections that your workflows use to run managed connector operations, such as Office 365, SharePoint, and so on. <br><br>**Important**: In your logic app project, the **connections.json** file contains metadata, endpoints, and keys for any managed API connections and Azure functions that your workflows use. To use different connections and functions in each environment, make sure that you parameterize the **connections.json** file and update the endpoints. <br><br>For more information, review [API connection resources and access policies](#api-connection-resources). |
5858
| Azure Resource Manager (ARM) template | Optional | This Azure resource defines a baseline infrastructure deployment that you can reuse or [export](../azure-resource-manager/templates/template-tutorial-export-template.md). |
5959

60+
<a name="api-connection-resources"></a>
61+
62+
## API connection resources and access policies
63+
64+
In single-tenant Azure Logic Apps, every managed API connection resource in your workflow requires an associated access policy. This policy needs your logic app's identity to provide the correct permissions for accessing the managed connector infrastructure. The included sample projects include an ARM template that includes all the necessary infrastructure resources, including these access policies.
65+
66+
For example, the following diagram shows the dependencies between a Standard logic app project and infrastructure resources:
67+
68+
![Conceptual diagram shows infrastructure dependencies for Standard logic app project in the single-tenant Azure Logic Apps model.](./media/set-up-devops-deployment-single-tenant-azure-logic-apps/infrastructure-dependencies.png)
69+
6070
<a name="download-artifacts"></a>
6171

6272
## Download Standard logic app artifacts from portal
6373

64-
If your Standard logic app is in the Azure portal, you can download and save a zip file that contains your logic app's artifact files, including **workflow.json**, **connections.json**, **host.json**, and **local.settings.json**.
74+
If your Standard logic app is in the Azure portal, you can download a zip file that contains your logic app's artifact files, including **workflow.json**, **connections.json**, **host.json**, and **local.settings.json**.
6575

6676
1. In the [Azure portal](https://portal.azure.com), find and open your Standard logic app resource.
6777

6878
1. On the logic app menu, select **Overview**.
6979

7080
1. On the **Overview** toolbar, select **Download app content**. In the confirmation box that appears, select **Download**.
7181

72-
1. When the prompt appears, select **Save as**, browse to the local folder that you want, and select **Save**.
82+
1. When the prompt appears, select **Save as**, browse to the local folder that you want, and select **Save** to save the zip file.
7383

7484
1. Extract the zip file.
7585

76-
<a name="api-connection-resources"></a>
77-
78-
## API connection resources and access policies
86+
1. In Visual Studio Code, open the folder that contains the unzipped files.
7987

80-
In single-tenant Azure Logic Apps, every managed API connection resource in your workflow requires an associated access policy. This policy needs your logic app's identity to provide the correct permissions for accessing the managed connector infrastructure. The included sample projects include an ARM template that includes all the necessary infrastructure resources, including these access policies.
88+
When you open the folder, Visual Studio Code automatically creates a [workspace](https://code.visualstudio.com/docs/editor/workspaces).
8189

82-
For example, the following diagram shows the dependencies between a Standard logic app project and infrastructure resources:
90+
1. Edit the folder's contents to include only the folders and files required for deployment using DevOps.
8391

84-
![Conceptual diagram shows infrastructure dependencies for Standard logic app project in the single-tenant Azure Logic Apps model.](./media/set-up-devops-deployment-single-tenant-azure-logic-apps/infrastructure-dependencies.png)
92+
1. When you finish, save your changes.
8593

8694
<a name="deploy-logic-app-resources"></a>
8795

8896
## Build and deploy logic app (zip deploy)
8997

90-
If you have a Standard logic app project, push that project and artifact files to your source repository. You can then set up build and release pipelines either inside or outside Azure that deploy Standard logic apps to your infrastructure.
98+
You can set up build and release pipelines either inside or outside Azure that deploy Standard logic apps to your infrastructure.
9199

92100
### Build your project
93101

102+
1. Push your Standard logic app project and artifact files to your source repository.
103+
94104
1. To set up a build pipeline based on your logic app project type, complete the corresponding actions in the following table:
95105

96106
| Project type | Description and steps |
@@ -117,11 +127,11 @@ If you have a Standard logic app project, push that project and artifact files t
117127
> local.settings.json
118128
> ```
119129
120-
### Before release to Azure
130+
## Before you release to Azure
121131
122132
The managed API connections inside your logic app project's **connections.json** file are created specifically for local use in Visual Studio Code. Before you can release your project artifacts from Visual Studio Code to Azure, you have to update these artifacts. To use the managed API connections in Azure, you have to update their authentication methods so that they're in the correct format to use in Azure.
123133
124-
#### Update authentication type
134+
### Update authentication type
125135
126136
For each managed API connection that uses authentication, you have to update the **`authentication`** object from the local format in Visual Studio Code to the Azure portal format, as shown by the first and second code examples, respectively:
127137
@@ -169,7 +179,7 @@ For each managed API connection that uses authentication, you have to update the
169179
}
170180
```
171181

172-
#### Create API connections as needed
182+
### Create API connections as needed
173183

174184
If you're deploying your Standard logic app to an Azure region or subscription different from your local development environment, you must also make sure to create these managed API connections before deployment. Azure Resource Manager template (ARM template) deployment is the easiest way to create managed API connections.
175185

@@ -227,15 +237,15 @@ In the response, find the **`connectionParameters`** object, which contains the
227237

228238
As an alternative, you can capture and review the network trace for when you create a connection using the workflow designer in Azure Logic Apps. Find the **`PUT`** call that is sent to the managed connector's API as previously described, and review the request body for all the necessary information.
229239

230-
#### On-premises data gateway resource definition
240+
### On-premises data gateway resource definition
231241

232242
If your connection uses an on-premises data gateway resource, this resource definition exists separately from the connector resource definition. To view the data gateway's resource definition, see [Automate deployment for Azure Logic Apps by using Azure Resource Manager templates](logic-apps-azure-resource-manager-templates-overview.md#data-gateway-resource-definitions) and [Microsoft.Web connectionGateways](/azure/templates/microsoft.web/connectiongateways?pivots=deployment-language-arm-template#connectiongatewayreference-1).
233243

234-
### Release to Azure
244+
## Release to Azure
235245

236246
To set up a release pipeline that deploys to Azure, follow the associated steps for GitHub, Azure DevOps, or Azure CLI.
237247

238-
#### [GitHub](#tab/github)
248+
### [GitHub](#tab/github)
239249

240250
For GitHub deployments, you can deploy your logic app by using [GitHub Actions](https://docs.github.com/actions), for example, the GitHub Actions in Azure Functions. This action requires that you pass through the following information:
241251

@@ -255,7 +265,7 @@ For GitHub deployments, you can deploy your logic app by using [GitHub Actions](
255265
256266
For more information, review [Continuous delivery by using GitHub Action](../azure-functions/functions-how-to-github-actions.md).
257267
258-
#### [Azure DevOps](#tab/azure-devops)
268+
### [Azure DevOps](#tab/azure-devops)
259269
260270
For Azure DevOps deployments, you can deploy your logic app by using the [Azure Function App Deploy task](/azure/devops/pipelines/tasks/deploy/azure-function-app?view=azure-devops&preserve-view=true) in Azure Pipelines. This action requires that you pass through the following information:
261271
@@ -276,7 +286,7 @@ For Azure DevOps deployments, you can deploy your logic app by using the [Azure
276286
277287
For more information, review [Deploy an Azure Function using Azure Pipelines](/azure/devops/pipelines/targets/azure-functions-windows).
278288
279-
#### [Azure CLI](#tab/azure-cli)
289+
### [Azure CLI](#tab/azure-cli)
280290
281291
If you use other deployment tools, you can deploy your Standard logic app by using the Azure CLI. Before you start, you need the following items:
282292
@@ -307,7 +317,7 @@ If you use other deployment tools, you can deploy your Standard logic app by usi
307317
308318
<a name="check-pip-version"></a>
309319
310-
##### Check pip installation
320+
#### Check pip installation
311321
312322
1. On a Windows or Mac operating system, open a command prompt, and enter the following command:
313323
@@ -323,7 +333,7 @@ If you use other deployment tools, you can deploy your Standard logic app by usi
323333

324334
<a name="check-environment-cli-version"></a>
325335

326-
##### Check environment and CLI version
336+
#### Check environment and CLI version
327337

328338
1. Sign in to the [Azure portal](https://portal.azure.com). In a terminal or command window, confirm that your subscription is active by running the command, [**`az login`**](/cli/azure/authenticate-azure-cli):
329339

@@ -346,7 +356,7 @@ If you use other deployment tools, you can deploy your Standard logic app by usi
346356

347357
<a name="install-logic-apps-cli-extension"></a>
348358

349-
##### Install Azure Logic Apps (Standard) extension for Azure CLI
359+
#### Install Azure Logic Apps (Standard) extension for Azure CLI
350360

351361
Currently, only the *preview* version for this extension is available. If you didn't install this extension yet, run the command, **`az extension add`**, with the following required parameters:
352362

@@ -371,7 +381,7 @@ az extension add --yes --source "https://aka.ms/logicapp-latest-py2.py3-none-any
371381

372382
<a name="create-resource-group"></a>
373383

374-
##### Create resource group
384+
#### Create resource group
375385

376386
If you don't have an existing Azure resource group to use for deployment, create the group by running the command, **`az group create`**. Unless you already set a default subscription for your Azure account, make sure to use the **`--subscription`** parameter with your subscription name or identifier. Otherwise, you don't have to use the **`--subscription`** parameter.
377387

@@ -403,7 +413,7 @@ If your resource group is successfully created, the output shows the **`provisio
403413

404414
<a name="deploy-logic-app"></a>
405415

406-
##### Deploy logic app
416+
#### Deploy logic app
407417

408418
Now, you can deploy your zipped artifacts to the Azure resource group that you created.
409419

0 commit comments

Comments
 (0)