Astro CI/CD templates for Azure DevOps

Use the following CI/CD templates to automate deploying Apache Airflow dags from a Git repository to Astro with Azure DevOps.

The template for Azure DevOps is based on the image deploy template with a single branch implementation, which requires only one Astro Deployment.

If you use the dag-only deploy feature on Astro or you’re interested in a multiple-branch implementation, see Template overview to configure your own. To learn more about CI/CD on Astro, see Choose a CI/CD strategy.

Prerequisites

Single branch implementation

Complete the following setup in an Azure repository that hosts an Astro project:

  1. Set the following environment variable as a DevOps pipeline variable:

    • ASTRO_API_TOKEN: The value for your Workspace or Organization API token.
    • ASTRO_DEPLOYMENT_ID: The ID for your Deployment.

    For production Deployments, ensure that you set the value for your API token as a secret.

  2. Create a new Azure DevOps pipeline named astro-devops-cicd.yaml at the root of the repository that includes the following configuration:

    1trigger:
    2- main
    3
    4pr: none
    5
    6stages:
    7- stage: deploy
    8 jobs:
    9 - job: deploy_image
    10 pool:
    11 vmImage: 'Ubuntu-latest'
    12 steps:
    13 - script: |
    14 curl -sSL install.astronomer.io | sudo bash -s
    15 astro deploy ${ASTRO_DEPLOYMENT_ID} -f
    16 env:
    17 ASTRO_API_TOKEN: $(ASTRO_API_TOKEN)
    18 ASTRO_DEPLOYMENT_ID: $(ASTRO_DEPLOYMENT_ID)