Blog Post

Apps on Azure Blog
2 MIN READ

Introducing more ways to deploy Azure Container Apps

AnthonyChu's avatar
AnthonyChu
Icon for Microsoft rankMicrosoft
Nov 17, 2022

Azure Container Apps is a fully managed serverless container service for building and deploying modern apps at scale. Today, we’re introducing new preview features to make it even easier to build and deploy container apps: 

  • A new GitHub action to build and deploy container apps
  • A new Azure Pipelines task to build and deploy container apps
  • Build container images without a Dockerfile

These features are currently in public preview. Try them out and let us know what you think! 

 

Azure Container Apps GitHub action

 

With the azure/container-apps-deploy-action GitHub action, you can build and deploy container apps directly from your GitHub repository. Here's an example GitHub Actions workflow that builds a container image from source code and deploys it to Azure Container Apps: 

 

name: Azure Container Apps Build and Deploy 
 
on: 
  push: 
    branches: 
      - main 
 
jobs: 
  build: 
    runs-on: ubuntu-latest 
 
    steps: 
      - uses: actions/checkout@v3 
 
      - name: Log in to Azure 
        uses: azure/login@v1 
        with: 
          creds: ${{ secrets.AZURE_CREDENTIALS }} 
 
      - name: Build and deploy Container App 
        uses: azure/container-apps-deploy-action@v0 
        with: 
          appSourcePath: ${{ github.workspace }}/src 
          acrName: myregistry 
          containerAppName: my-container-app 
          resourceGroup: my-container-app-rg 

 

For more information, see the Azure Container Apps GitHub Actions documentation. 

 

Azure Container Apps Azure Pipelines task

 

With the Azure Container Apps task in Azure Pipelines, you can build and deploy container apps directly from your build or release pipeline. Here's an example Azure DevOps build pipeline that builds a container image from source code and deploys it to Azure Container Apps: 

 

trigger: 
  branches: 
    include: 
      - main 
 
pool: 
  vmImage: ubuntu-latest 
 
steps: 
  - task: AzureContainerAppsRC@0 
    inputs: 
      appSourcePath: '$(Build.SourcesDirectory)/src' 
      azureSubscription: 'my-azure-service-connection' 
      acrName: 'myregistry' 
      containerAppName: 'my-container-app' 
      resourceGroup: 'my-container-app-rg' 

 

There will be two versions of the task that you can choose from: 

  • AzureContainerAppsRC (available now) - This release candidate version contains the latest features and updates. You can install it now from the Visual Studio Marketplace. 
  • AzureContainerApps (expected in December 2022) - This version ships with Azure Pipelines and is available by default. Features and updates that are added to AzureContainerAppsRC appear in this version after a few weeks. 

For more information, see the Azure Container Apps Azure Pipelines documentation. 

 

Dockerfile-less builds 

 

Azure Container Apps now supports building container images from source code without a Dockerfile. This makes it even easier to build and deploy container apps. 

 

Dockerfile-less builds are powered by the Microsoft Oryx open-source project. Supported languages and runtimes include: .NET, Python, Node.js, PHP, Ruby, and Go. 

 

Here are the tools that currently support Dockerfile-less builds: 

  • Azure Container Apps GitHub action 
  • Azure Container Apps Azure Pipelines task 
  • Azure CLI using the az containerapp up command 

 

Updated Nov 17, 2022
Version 2.0