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.
-
Build and publish the ASP.NET Core project:
$ dotnet publish src
-
Navigate to
infra
:$ 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 sqlUsername <value>
-
Define SQL Server password (make it complex enough to satisfy Azure policy):
pulumi config set --secret sqlPassword <value>
-
Run
pulumi up
to 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> ...
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.