Deploy to Azure using GitHub Actions from your favorite tools

Publicado em 27 maio, 2020

Program Manager

Enterprises and teams are adopting DevOps technologies combined with people and processes to deliver high-quality code, with faster release cycles and continuous delivery of value, to achieve higher levels of satisfaction for their own customers.

However, it can often get difficult to craft CI/CD pipelines by editing multiple YAMLs to stitch your code to cloud automation workflows. Teams end up spending considerable time and effort setting up and switching between different discrete tools during their day-to-day development cycles.

In November, GitHub Actions for Azure became generally available to automate deploying your app code in GitHub to Azure directly from their repositories. Building on this, at Microsoft Build 2020 we announced that GitHub Actions for Azure are now integrated into Visual Studio Code, Azure CLI, and the Azure Portal simplifying the experience of deploying to Azure from your preferred entry points. Download the new Visual Studio Code extension or install the Azure Command-Line Interface (CLI) extension for GitHub Actions.

GitHub Actions for Azure can now deploy any enterprise application

GitHub Actions gives you the flexibility to build an automated software development lifecycle workflow. To help development teams easily create workflows to build, test, package, release, and deploy to Azure, more than 30 GitHub Actions for Azure are published on GitHub Marketplace, with more planned to roll out in the coming months.

These actions enable deployments to multiple Azure services, from web applications to serverless functions and Kubernetes, as well as Azure SQL and MySQL databases.

We also support Azure login actions that can serve as a generic step that lets customers use scripting for a breadth of Azure resources using Azure CLI or Azure PowerShell. Various utility actions like Azure Key Vault, App Service Settings, and more are also published that help developers target Azure to deploy even their complex enterprise applications while following all the DevOps best practices. Check out the sample application Rock, Paper, Scissors, Lizard, Spock, a multilanguage application built with Visual Studio and Visual Studio Code, deployed with GitHub Actions and running on Azure Kubernetes Service (AKS).

Easily get started with Actions for Azure

Various starter templates are made available to deploy your apps created with popular languages and frameworks such as .NET, Node.js, Java, PHP, Ruby, or Python in containers or running on any operating system. To simplify the onboarding experience with deploying web applications, we’ve also included sample repositories which can help you get started in four easy steps:

  1. Fork the sample repository (example, Python sample).
  2. Click on Deploy to Azure in the readme file to create an Azure Web App.
  3. Configure the required GitHub Repo Secrets.
  4. Update the workflow YAML with the Web App configuration and commit the changes.

These steps will trigger your CI/CD workflow to build and deploy an app to Azure using GitHub Actions.

 Deploy Python Package

Create Action workflows from Visual Studio Code, Azure Portal, or Azure CLI

Today there are millions of developers using Visual Studio Code targeting Azure. Similarly, there are millions of developers on Azure Portal as well. We want to meet Azure developers where they are and provide the best end-to-end developer experiences using all our developer tools. With the new integrations that we’re announcing for Actions into various tool extensions, you can now deploy to Azure effortlessly using GitHub Actions from your favorite tools. This will significantly reduce ramp-up time on GitHub Actions, avoid frequent context switching, and help your teams be more productive with built-in extensions in your favorite tools. We’re excited to announce three new tooling integrations:

  • In Azure Portal, GitHub Actions has now been added as a build provider in the App Service Deployment Center and Azure Kubernetes Service, making it easier for you to set up CI/CD workflows with GitHub Actions.
      Azure Portal Deployment center
  • The Visual Studio Code Deploy to Azure extension helps you set up continuous build and deployment for Azure App Service or Azure Kubernetes Service without leaving the editor.

VS Code Deploy to Azure Extension

  • Azure CLI extension can be installed by running the command az extension add --name deploy-to-azure, and it supports deployments to Azure Kubernetes Service and Azure Container Instance via the az aks app up and az container app up commands.

Azure CLI extension

You can use any of these tool integrations to set up an automatically generated and fully customizable CI/CD workflow that’s triggered for every code push. The YAML file is pre-populated with build and release steps, which you can edit as needed. As part of creating the workflow, all the relevant Azure and GitHub repository-related configurations are set up, without you needing to worry about plumbing the two systems.

Get started

Check out the starter templates and the documentation for Deploy to Azure CLI extension, Visual Studio Code extension, and GitHub Actions for Azure to get started. If you have any changes you’d like to see or suggestions for these features, then we’d love your feedback as well as contributions in the respective GitHub repositories–we’re taking pull requests! If you encounter a problem with any specific action, you can also open an issue on the action repository.

Learn more