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
- An Astro project hosted in a Git repository that Azure DevOps can access.
- An Astro Deployment.
- A Deployment API token, Workspace API token, or Organization API token.
- Access to Azure DevOps.
Single branch implementation
Complete the following setup in an Azure repository that hosts an Astro project:
-
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.
-
Create a new Azure DevOps pipeline named
astro-devops-cicd.yaml
at the root of the repository that includes the following configuration:trigger:
- main
pr: none
stages:
- stage: deploy
jobs:
- job: deploy_image
pool:
vmImage: 'Ubuntu-latest'
steps:
- script: |
curl -sSL install.astronomer.io | sudo bash -s
astro deploy ${ASTRO_DEPLOYMENT_ID} -f
env:
ASTRO_API_TOKEN: $(ASTRO_API_TOKEN)
ASTRO_DEPLOYMENT_ID: $(ASTRO_DEPLOYMENT_ID)