Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
7f06f22
reorganize toc and index pages
ghogen Jul 18, 2023
13e69d8
Move image files
ghogen Jul 18, 2023
d8143cc
fix image links
ghogen Jul 18, 2023
5f99359
move image files really
ghogen Jul 18, 2023
1f99ac4
incorp feedback from Angelos
ghogen Jul 19, 2023
24214c9
reorganize deployment toc
ghogen Jul 19, 2023
4e44d2a
Update TOC
ghogen Jul 19, 2023
80a16b1
move one image file
ghogen Jul 19, 2023
46a58b0
fix toc
ghogen Jul 19, 2023
3e1c3b7
fix toc
ghogen Jul 19, 2023
f369f17
reorder and move Custom bootstrapper
ghogen Jul 19, 2023
4ee25b5
move Node.js
ghogen Jul 19, 2023
558ab2a
fix indent
ghogen Jul 19, 2023
327fa1c
fix toc
ghogen Jul 19, 2023
9cfbff4
fix toc again
ghogen Jul 19, 2023
95fdc53
Azure toc and index changes
ghogen Jul 21, 2023
fa9b6e0
About Azure development
ghogen Jul 21, 2023
dd2d277
Add Azure card to Deployment landing page
ghogen Jul 21, 2023
54f96c8
fix yaml syntax
ghogen Jul 21, 2023
eb7cdf1
set contextual toc
ghogen Jul 21, 2023
19a9fbf
remove .md
ghogen Jul 21, 2023
c3143bc
for now, remove contextual toc markup
ghogen Jul 21, 2023
6a71293
incorp Mike's feedback
ghogen Jul 21, 2023
590ab0d
incorp Mike's feedback 2
ghogen Jul 21, 2023
6b4ede8
remove contextual toc markup
ghogen Jul 21, 2023
d60f40f
fix typo
ghogen Jul 21, 2023
c2d97e3
tweak toc
ghogen Jul 21, 2023
52ba916
Move How To section
ghogen Jul 21, 2023
9ba55af
incorporate feedback
ghogen Jul 24, 2023
0cbae7e
fix warnings
ghogen Jul 24, 2023
d32f8ac
fix warnings
ghogen Jul 24, 2023
38b49ac
simplify toc
ghogen Jul 24, 2023
ee712a2
move CS overview
ghogen Jul 24, 2023
0f8502a
Merge text of admin-inventory.md into admin-responsibilities.md
evanwindom Jul 26, 2023
08629e8
Remove admin-inventory.md from TOC and repo
evanwindom Jul 26, 2023
a935c60
Add redirection for admin-inventory.md to admin-responsibilities
evanwindom Jul 26, 2023
2f9b686
Minor tweaks to admin-responsibilities for acrolinx scoring
evanwindom Jul 26, 2023
ef67f5d
Merge pull request #11487 from rigel512/evanwindom-admin-inventory
v-shils Jul 26, 2023
1cc3f68
Add azure images compatible with dev box
anandmeg Jul 26, 2023
79b330d
Add anonymization data to subscription-removed.md, update TOC (#11489)
evanwindom Jul 26, 2023
20294a7
Add VS 2019 azure images compatible with dev box
anandmeg Jul 26, 2023
a6a471e
Fix wording
anandmeg Jul 26, 2023
eb812c3
Merge pull request #11490 from anandmeg/gitissue-9372
prmerger-automator[bot] Jul 26, 2023
f69288e
Containers token proxy (#11448)
ghogen Jul 26, 2023
fde297f
Merge pull request #11464 from ghogen/toc-work
v-regandowner Jul 26, 2023
b5dcf21
Merge pull request #11491 from MicrosoftDocs/repo_sync_working_branch
PhilKang0704 Jul 26, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion .openpublishing.redirection.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
{
"redirections": [
{
"source_path": "docs/deployment/azure-deployment-using-github-actions.md",
"redirect_url": "/visualstudio/azure/azure-deployment-using-github-actions",
"redirect_document_id": true
},
{
"source_path": "docs/deployment/end-to-end-deployment-entity-framework-core-github-actions.md",
"redirect_url": "/visualstudio/azure/end-to-end-deployment-entity-framework-core-github-actions",
"redirect_document_id": true
},
{
"source_path": "docker/tutorials/tutorial-deploy-docker-app-azure.md",
"redirect_url": "/visualstudio/docker/tutorials/docker-tutorial",
Expand Down Expand Up @@ -18013,6 +18023,16 @@
"source_path": "subscriptions/search-license.md",
"redirect_url": "/visualstudio/subscriptions",
"redirect_document_id": false
}
},
{
"source_path": "subscriptions/admin-inventory.md",
"redirect_url": "/visualstudio/subscriptions/admin-responsibilities",
"redirect_document_id": false
},
{
"source_path": "subscriptions/anonymization.md",
"redirect_url": "/visualstudio/subscriptions/subscription-removed",
"redirect_document_id": false
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,45 +24,45 @@ Starting in Visual Studio 2019 version 16.11, you can create new GitHub Actions

In Solution Explorer, right-click your GitHub.com hosted project and choose **Publish**.

![right-click > Publish](./media/solution-explorer-publish.png)
![right-click > Publish](./media/azure-deployment-using-github-actions/solution-explorer-publish.png)

On the next screen, select **Azure** and then choose **Next**.

![select Azure](./media/wizard-azure.png)
![select Azure](./media/azure-deployment-using-github-actions/wizard-azure.png)

Depending on your [project type](#which-project-types-are-supported), you get a different list of Azure services to pick from. Pick one of the [supported Azure services](#which-azure-services-are-supported) that fits your needs.

![select the appropriate Azure service for your project](./media/wizard-pick-azure-service.png)
![select the appropriate Azure service for your project](./media/azure-deployment-using-github-actions/wizard-pick-azure-service.png)

On the final step of the wizard, select **CI/CD using GitHub Actions workflows (generates yml file)** and then choose **Finish**.

![CI/CD using GitHub Actions workflows (generates yml file)](./media/wizard-final-step.png)
![CI/CD using GitHub Actions workflows (generates yml file)](./media/azure-deployment-using-github-actions/wizard-final-step.png)

Visual Studio generates a new GitHub Actions workflow and asks you to commit it and push it to GitHub.com.

![commit and push](./media/summary-commit-and-push.png)
![commit and push](./media/azure-deployment-using-github-actions/summary-commit-and-push.png)

If you complete this step by using the [built-in Git tooling](../version-control/git-with-visual-studio.md?view=vs-2019&preserve-view=true#git-changes-window-in-visual-studio-2019), Visual Studio will detect the execution of the workflow.

![workflow is running](./media/summary-workflow-running.png)
![workflow is running](./media/azure-deployment-using-github-actions/summary-workflow-running.png)

## Setting the GitHub secrets

For the generated workflow to successfully deploy to Azure, it may require access to a [publish profile](/azure/app-service/deploy-github-actions?tabs=applevel#configure-the-github-secret).

![one github secret](./media/summary-one-github-secret.png)
![one github secret](./media/azure-deployment-using-github-actions/summary-one-github-secret.png)

A successful deployment may also require access to a [service principal](/azure/app-service/deploy-github-actions?tabs=userlevel#configure-the-github-secret).

![two github secrets](./media/summary-two-github-secrets.png)
![two github secrets](./media/azure-deployment-using-github-actions/summary-two-github-secrets.png)

In all cases, Visual Studio tries to set the GitHub secret for you with the correct value. If it fails, it will let you know and give you the opportunity to try again.

![github secret missing](./media/summary-one-github-secret-missing.png)
![github secret missing](./media/azure-deployment-using-github-actions/summary-one-github-secret-missing.png)

If it fails to set the secret again, Visual Studio gives you the opportunity to get access to the secret manually, so you can complete the process through your repo's page on github.com.

![set missing github secret](./media/summary-set-github-secret.png)
![set missing github secret](./media/azure-deployment-using-github-actions/summary-set-github-secret.png)

## Which project types are supported?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ The ToDo application is ready to go, but you'll need to establish a connection t

Visual Studio displays a summary of the service dependencies, including the connection to `LocalDB`.

:::image type="content" source="./media/visual-studio-service-connections.png" lightbox="./media/visual-studio-service-connections-large.png" alt-text="A screenshot showing how to add a migration using Visual Studio.":::
:::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-service-connections.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-service-connections-large.png" alt-text="A screenshot showing how to add a migration using Visual Studio.":::

Next you'll need to create an initial migration and use it to update the local database with the correct schema for the todo app.

Expand Down Expand Up @@ -103,7 +103,7 @@ The publishing features of Visual Studio can handle creating these resources for
1. For the specific target, select **Azure Container Apps (Linux)**, and then select **Next**.
1. Create a new container app to deploy to. Select the **+ Create new** button to open a new dialog and enter the following values:

:::image type="content" source="./media/visual-studio-create-container-app.png" lightbox="./media/visual-studio-create-container-app-large.png" alt-text="A screenshot showing how to create a container app.":::
:::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-create-container-app.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-create-container-app-large.png" alt-text="A screenshot showing how to create a container app.":::

* **Container app name**: Leave the default value or enter a name.
* **Subscription name**: Select the subscription to deploy to.
Expand All @@ -119,7 +119,7 @@ The publishing features of Visual Studio can handle creating these resources for
1. Once the resource is created, make sure it's selected in the list of container apps, and then select **Next**.
1. You'll need to create an Azure Container Registry to store the published image artifact for your app. Select the green **+** icon on the container registry screen.

:::image type="content" source="./media/visual-studio-container-registry.png" lightbox="./media/visual-studio-container-registry-large.png" alt-text="A screenshot showing how to create a new container registry.":::
:::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-container-registry.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-container-registry-large.png" alt-text="A screenshot showing how to create a new container registry.":::

1. Leave the default values, and then select **Create**.
1. After the container registry is created, make sure it's selected, and then select next.
Expand Down Expand Up @@ -162,7 +162,7 @@ Visual Studio creates and displays the publishing profile. Most of the publishin
- **SQL database**: Select the database you created earlier.
- **Client type**: Select **.NET**.

:::image type="content" source="./media/azure-portal-service-connector.png" lightbox="./media/azure-portal-service-connector-large.png" alt-text="A screenshot showing how to use service connector.":::
:::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-service-connector.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-service-connector-large.png" alt-text="A screenshot showing how to use service connector.":::

1. Select **Next: Authentication** and enter the following values:
* Select **Connection string** for the authentication type.
Expand All @@ -184,7 +184,7 @@ The GitHub Actions workflow file generated by Visual Studio can be used by GitHu
1. On the database overview page, select **Connection strings** from the left navigation.
1. On the **ADO.NET** tab, copy the connection string out of the form field.

:::image type="content" source="./media/azure-portal-connection-string.png" lightbox="./media/azure-portal-connection-string-large.png" alt-text="A screenshot showing how to retrieve the connection string.":::
:::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-connection-string.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/azure-portal-connection-string-large.png" alt-text="A screenshot showing how to retrieve the connection string.":::

1. Navigate to the forked GitHub repository of the app.
1. Under the **Settings** tab, select **Secrets > Actions** from the left navigation, and then choose **New repository secret**.
Expand All @@ -193,15 +193,15 @@ The GitHub Actions workflow file generated by Visual Studio can be used by GitHu
- **Secret**: Paste the connection string copied from Azure. **Make sure to replace the password placeholder in the connection string with the password you chose when creating the database.**
- Select **Add secret**.

:::image type="content" source="./media/github-secret.png" lightbox="./media/github-secret-large.png" alt-text="A screenshot showing how to create a GitHub secret.":::
:::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/github-secret.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/github-secret-large.png" alt-text="A screenshot showing how to create a GitHub secret.":::

The connection string is now stored securely in the GitHub repository secrets and can be retrieved using a GitHub workflow.

### Modify the GitHub Actions workflow to enable migrations

1. Open the GitHub Actions workflow `.yml` file generated by Visual Studio by selecting the **Edit Workflow** button on the publishing summary page.

:::image type="content" source="./media/visual-studio-edit-workflow.png" lightbox="./media/visual-studio-edit-workflow-large.png" alt-text="A screenshot showing how to edit the workflow.":::
:::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-edit-workflow.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/visual-studio-edit-workflow-large.png" alt-text="A screenshot showing how to edit the workflow.":::

1. Append the following yaml to the end of the workflow file:

Expand All @@ -227,7 +227,7 @@ The connection string is now stored securely in the GitHub repository secrets an
2. Navigate to the GitHub repository and select the **Actions** tab. A workflow run should have triggered automatically if the push was successful.
1. Select the active workflow to view the log details for each step as they complete. The migration runs last to update the database in Azure.

:::image type="content" source="./media/github-actions-workflow.png" lightbox="./media/github-actions-workflow-large.png" alt-text="A screenshot showing the GitHub action workflow.":::
:::image type="content" source="./media/end-to-end-deployment-entity-framework-core-github-actions/github-actions-workflow.png" lightbox="./media/end-to-end-deployment-entity-framework-core-github-actions/github-actions-workflow-large.png" alt-text="A screenshot showing the GitHub action workflow.":::

After the workflow completes, the application is deployed to Azure Container Apps and connected to the database with an updated schema.

Expand Down
134 changes: 46 additions & 88 deletions docs/azure/index.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,51 +12,63 @@ metadata:
ms.author: ghogen

landingContent:
- title: Deploy to Azure
- title: About Azure development
linkLists:
- linkListType: overview
links:
- text: Overview of Azure integration
- text: Azure in Visual Studio
url: overview-azure-integration.md
- text: Azure SDK for .NET
url: /dotnet/azure
- title: Deploy to Azure
linkLists:
- linkListType: tutorial
links:
- text: Deploy an ASP.NET Core app to Azure
url: /azure/app-service/app-service-web-get-started-dotnet-framework
- text: Deploy an ASP.NET web app to Azure
- text: ASP.NET Core to App Service
url: /azure/app-service/app-service-web-get-started-dotnet
- text: ASP.NET to App Service (.NET Framework)
url: /azure/app-service/app-service-web-get-started-dotnet
- text: ASP.NET web app to Azure Web Apps
url: /aspnet/core/tutorials/publish-to-azure-webapp-using-vs
- text: Deploy an ASP.NET Core web app to Azure Container Apps
- text: ASP.NET Core web app to Azure Container Apps
url: /azure/container-apps/deploy-visual-studio
- text: Azure Logic Apps
url: /azure/logic-apps/quickstart-create-logic-apps-with-visual-studio
- text: Azure Functions
url: /azure/azure-functions/functions-create-your-first-function-visual-studio

- title: Connect to Azure services
linkLists:
- linkListType: overview
links:
- text: Connected Services
url: overview-connected-services.md
- linkListType: tutorial
links:
- text: Active Directory
url: /azure/active-directory/develop/vs-active-directory-add-connected-service
- text: Redis Cache
url: azure-cache-for-redis-add-connected-service.md
- text: Cosmos DB
url: azure-cosmosdb-add-connected-service.md
- text: Key Vault
url: /azure/key-vault/vs-key-vault-add-connected-service
- text: SignalR
url: azure-signalr-add-connected-service.md
- text: SQL Database
url: azure-sql-database-add-connected-service.md
- text: Storage
url: vs-azure-tools-connected-services-storage.md

- title: Continuous integration
linkLists:
- linkListType: tutorial
links:
- text: Continuous deployment to Azure with Visual Studio and Git
url: /azure/app-service/deploy-continuous-deployment
- text: Continuous deployment to Azure with Azure Pipelines
url: /azure/devops/pipelines/get-started-yaml

- title: Azure App Services, Logic Apps, and Azure Functions
linkLists:
- linkListType: tutorial
links:
- text: Build and host a web app with Azure App Service
url: /azure/app-service/app-service-web-get-started-dotnet
- text: Build automated, scalable workflows with Azure Logic Apps
url: /azure/logic-apps/quickstart-create-logic-apps-with-visual-studio
- text: Process events with Azure Functions
url: /azure/azure-functions/functions-create-your-first-function-visual-studio
- linkListType: overview
links:
- text: Azure SDK for .NET and .NET Core Developers
url: /dotnet/azure

- title: Container development
linkLists:
- linkListType: overview
links:
- text: Container development
url: ../containers/index.yml
- text: Container tools in Visual Studio
url: ../containers/overview.md
- text: Kubernetes tools
url: /visualstudio/bridge/overview-bridge-to-kubernetes


- title: Debug Azure services and analyze performance
linkLists:
- linkListType: tutorial
Expand All @@ -69,64 +81,10 @@ landingContent:
url: vs-azure-tools-debug-cloud-services-virtual-machines.md
- text: Measure performance for cloud services in Azure
url: vs-azure-tools-performance-profiling-cloud-services.md

- title: Connected Services
linkLists:
- linkListType: overview
links:
- text: Overview
url: overview-connected-services.md
- linkListType: tutorial
links:
- text: Azure Active Directory
url: /azure/active-directory/develop/vs-active-directory-add-connected-service
- text: Azure Cache for Redis
url: azure-cache-for-redis-add-connected-service.md
- text: Azure Cosmos DB
url: azure-cosmosdb-add-connected-service.md
- text: Azure Key Vault
url: /azure/key-vault/vs-key-vault-add-connected-service
- text: Azure SignalR
url: azure-signalr-add-connected-service.md
- text: Azure SQL Database
url: azure-sql-database-add-connected-service.md
- text: Azure Storage
url: vs-azure-tools-connected-services-storage.md

- title: Azure Cloud Services
linkLists:
- linkListType: how-to-guide
links:
- text: Create and deploy to Cloud Services (extended support)
url: cloud-services-extended-support.md
- text: Create and configure Azure cloud service projects
url: vs-azure-tools-azure-project-create.md
- text: Debug cloud services locally and in Azure
url: vs-azure-tools-debugging-cloud-services-overview.md
- text: Analyze performance with the Visual Studio profiler
url: vs-azure-tools-performance-profiling-cloud-services.md
- text: Deploy a cloud service to Azure
url: vs-azure-tools-publishing-a-cloud-service.md
- text: Monitor and diagnose cloud services and virtual machines running in Azure
url: vs-azure-tools-diagnostics-for-cloud-services-and-virtual-machines.md

- title: Cloud Explorer
linkLists:
- linkListType: how-to-guide
links:
- text: Access Azure storage accounts in Visual Studio
url: vs-azure-tools-storage-resources-server-explorer-browse-manage.md
- text: Access Virtual Machines from Visual Studio
url: vs-azure-tools-virtual-machines-access-from-server-explorer.md

- title: Other Resources
linkLists:
- linkListType: how-to-guide
links:
- text: Azure Resource Group
url: /azure/azure-resource-manager/vs-azure-tools-resource-groups-deployment-projects-create-deploy
- text: Data Lake Analytics
url: /azure/data-lake-analytics/data-lake-analytics-data-lake-tools-get-started
- text: Stream Analytics
url: /azure/stream-analytics/stream-analytics-quick-create-vs
- text: Service Fabric
url: /azure/service-fabric/service-fabric-get-started
Loading