For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
      • AstroFully-managed data operations, powered by Apache Airflow.
      • Astro Private CloudRun Airflow-as-a-service in your environment.
      • Professional ServicesExpert Airflow services for your enterprise's success.
    • Tools
      • Cosmos
      • Orbiter
      • CLI
      • AI SDK
      • Agents
      • Blueprint
      • UpdatesThe State of Airflow 2026See the insights from over 5,800 data practitioners in the full report. Download Now ➔
  • Customers
  • Docs
    • Insights
      • Blog
      • Webinars
      • Resource Library
      • Events
    • Education
      • Academy
      • What is Airflow?
  • Pricing
Get Started Free
      • Upgrade Astronomer
      • Apply a config change
        • Configure a Deployment
        • Environment variables
        • Customize resource usage
          • Deploy a project image
          • Deploy DAGs using the CLI
          • Configure git-sync deploys
          • Configure NFS deploys
    • Book Office Hours

Product

  • Platform Overview
  • Astro
  • Astro Observe
  • Astro Private Cloud
  • Security & Trust
  • Pricing

Tools & Services

  • Cosmos
  • Docs
  • Professional Services
  • Product Updates

Use Cases

  • AI Ops
  • Data Observability
  • ETL/ELT
  • ML Ops
  • Operational Analytics
  • All Use Cases

Industries

  • Financial Services
  • Gaming
  • Retail
  • Manufacturing
  • Healthcare
  • All Industries

Resources

  • Academy
  • eBooks & Guides
  • Blog
  • Webinars
  • Events
  • The Data Flowcast Podcast
  • All Resources

Airflow

  • What is Airflow
  • Airflow on Astro
  • Airflow 3.0
  • Airflow Upgrades
  • Airflow Use Cases
  • Airflow 2.x End of Life

Company

  • Our Story
  • Customers
  • Newsroom
  • Careers
  • Contact

Support

  • Knowledge Base
  • Status
  • Contact Support
GitHubYouTubeLinkedInx
  • Legal
  • Privacy
  • Terms of Service
  • Consent Preferences

  • Do Not Sell or Share My Personal information
  • Limit the Use Of My Sensitive Personal Information

Apache Airflow®, Airflow, and the Airflow logo are trademarks of the Apache Software Foundation. Copyright © Astronomer 2026. All rights reserved.

LogoLogo
On this page
  • Prerequisites
  • Step 1: Authenticate to Astronomer
  • Step 2: Confirm Your Workspace and Deployment
  • Step 3: Deploy to Astronomer
  • Step 4: Validate Your Changes
  • What gets deployed?
AdministrationManage DeploymentsDeploy options

Deploy code to Astronomer Software using the Astro CLI

Edit this page
Built with

To run your code on Astronomer Software, you need to deploy it to an Airflow Deployment. You can deploy part or all of an Astro project to an Airflow Deployment using the Astro CLI.

When you deploy a project, the Astro CLI builds your all files in your Astro project, including DAGs, into a Docker image. It then pushes this image to an image registry on your Astronomer Software cluster where your Deployment accesses the image and uses it to run Airflow containers.

For guidance on automating this process, refer to Deploy to Astronomer via CI/CD. To learn how to add Python and OS-level packages or otherwise customize your Docker image, read Customize your image.

This document covers deploying a complete project image to Astro. To deploy DAGs only, see:

  • Deploy DAGs using the Astro CLI
  • Deploy DAGs to an NFS volume
  • Deploy DAGs using git-sync.
Astronomer recommends that all users use the Astro CLI to test their code locally before pushing it to an Airflow Deployment on Astronomer. For guidelines on developing locally, see CLI Quickstart.

Prerequisites

In order to push up DAGs to a Deployment on Astronomer, you must have:

  • The Astro CLI installed.
  • Access to an Astronomer platform at https://app.BASEDOMAIN.
  • An Astronomer Workspace with at least one active Airflow Deployment.

Step 1: Authenticate to Astronomer

To authenticate with the Astro CLI, run:

1astro login BASEDOMAIN

Step 2: Confirm Your Workspace and Deployment

From the Astro CLI, you can push code to any Airflow Deployment you have access to as long as you have the appropriate deployment-level permissions. For more information on both Workspace and Deployment-level permissions on Astronomer, see User permissions.

Before you deploy to Astronomer, make sure that the Airflow Deployment you’d like to deploy to is within the Workspace you’re operating in.

To see the list of Workspaces you have access to, run:

1astro workspace list

To switch between Workspaces, run:

1astro workspace switch

To see the list of Deployments within a particular Workspace, run:

1astro deployment list

For more specific CLI guidelines and commands, read CLI quickstart.

Step 3: Deploy to Astronomer

Finally, make sure you’re in the correct Astro project directory.

When you’re ready to deploy your DAGs, run:

1astro deploy

This command returns a list of Airflow Deployments available in your Workspace and prompts you to pick one. After you execute the command, all files in your Astro project directory are built into a new Docker image, the image is pushed to the Astronomer Software registry, and the containers for all Airflow components in the Deployment are restarted.

If your code deploy fails and you configured your CLI to use Podman, you might need to set an additional environment variable. See Troubleshoot your Podman configuration.

Step 4: Validate Your Changes

If it’s your first time deploying, expect to wait a few minutes for the Docker image to build.

To confirm that your deploy was successful, navigate to your Deployment in the Software UI and click Open Airflow to see your changes in the Airflow UI.

What gets deployed?

Everything in the project directory where you ran $ astro dev init is bundled into a Docker image and deployed to your Airflow Deployment on your Astronomer platform. This includes system-level dependencies, Python-level dependencies, DAGs, and your Dockerfile.

Astronomer exclusively deploys the code in your project and does not push any of the metadata associated with your local Airflow environment, including task history and Airflow connections or variables set locally in the Airflow UI.

For more information about what gets built into your image, read Customize your image.