Skip to content
Branch: master
Find file History

README.md

Deploy

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

  1. Build and publish the ASP.NET Core project:

    $ dotnet publish src
    
  2. Navigate to infra:

    $ cd infra
    
  3. Create a new stack:

    $ pulumi stack init dev
    
  4. Login to Azure CLI (you will be prompted to do this during deployment if you forget this step):

    $ az login
    
  5. Restore NPM dependencies:

    $ npm install
    
  6. Define SQL Server username:

    pulumi config set azure-appservice-devops:sqlUsername <value>
    
  7. Define SQL Server password (make it complex enough to satisfy Azure policy):

    pulumi config set --secret azure-appservice-devops:sqlPassword <value>
    
  8. 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
    
  9. 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.

You can’t perform that action at this time.