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