A Todo App on Azure App Service with SQL Database and Application Insights and deploys it to Azure DevOps
A Todo List application from Azure Samples GitHub: .NET Core MVC sample for Azure App Service, a web app built with ASP.NET Core, Entity Framework Core and a SQL database.
Provisions Azure SQL Database and Azure Application Insights to be used in combination with App Service. Defines an Azure DevOps pipeline to deploy in CI/CD environment.
Running the App manually with Pulumi CLI
Build and publish the ASP.NET Core project:
$ dotnet publish src
$ cd infra
Create a new stack:
$ pulumi stack init dev
Login to Azure CLI (you will be prompted to do this during deployment if you forget this step):
$ az login
Restore NPM dependencies:
$ npm install
Define SQL Server username:
pulumi config set azure-appservice-devops:sqlUsername <value>
Define SQL Server password (make it complex enough to satisfy Azure policy):
pulumi config set --secret azure-appservice-devops:sqlPassword <value>
pulumi upto preview and deploy changes:
$ pulumi up Previewing changes: ... Performing changes: ... info: 10 changes performed: + 10 resources created Update duration: 1m14.59910109s
Check the deployed website endpoint:
$ pulumi stack output endpoint https://dev-as10d706a2.azurewebsites.net $ curl "$(pulumi stack output endpoint)" <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Index - My ToDoList App</title> ...
Integrating with Azure DevOps
azure-pipeline.yml in the root folder of this example shows a configuration for Azure DevOps using Pulumi task.
Pulumi task expects a Pulumi access token to be configured as a build variable. Copy your token from Access Tokens page and put it into
pulumi.access.token build variable.
alternative-pipeline folder contains custom scripts and a pipeline to run Pulumi program in environments that have to access to the marketplace.
Follow Azure DevOps guide for more details.