Deploy your Astro Site
Ready to build and deploy your Astro site? Follow one of our guides to different deployment services or scroll down for general guidance about deploying an Astro site.
Deployment Guides
Section titled Deployment GuidesQuick Deploy Options
Section titled Quick Deploy OptionsYou can build and deploy an Astro site to a number of hosts quickly using either their website’s dashboard UI or a CLI.
Website UI
Section titled Website UIA quick way to deploy your website is to connect your Astro project’s online Git repository (e.g. GitHub, GitLab, Bitbucket) to a host provider and take advantage of continuous deployment using Git.
These host platforms automatically detect pushes to your Astro project’s source repository, build your site and deploy it to the web at a custom URL or your personal domain. Often, setting up a deployment on these platforms will follow steps something like the following:
-
Add your repository to an online Git provider (e.g. in GitHub, GitLab, Bitbucket)
-
Choose a host that supports continuous deployment (e.g. Netlify or Vercel) and import your Git repository as a new site/project.
Many common hosts will recognize your project as an Astro site, and should choose the appropriate configuration settings to build and deploy your site as shown below. (If not, these settings can be changed.)
- Build Command:
astro build
ornpm run build
- Publish directory:
dist
- Build Command:
-
Click “Deploy” and your new website will be created at a unique URL for that host (e.g.
new-astro-site.netlify.app
).
The host will be automatically configured to watch your Git provider’s main branch for changes, and to rebuild and republish your site at each new commit. These settings can typically be configured in your host provider’s dashboard UI.
CLI Deployment
Section titled CLI DeploymentSome hosts will have their own command line interface (CLI) you can install globally to your machine using npm. Often, using a CLI to deploy looks something like the following:
-
Install your host’s CLI globally, for example:
-
Run the CLI and follow any instructions for authorization, setup etc.
-
Build your site and deploy to your host
Many common hosts will build and deploy your site for you. They will usually recognize your project as an Astro site, and should choose the appropriate configuration settings to build and deploy as shown below. (If not, these settings can be changed.)
- Build Command:
astro build
ornpm run build
- Publish directory:
dist
Other hosts will require you to build your site locally and deploy using the command line.
- Build Command:
Building Your Site Locally
Section titled Building Your Site LocallyMany hosts like Netlify and Vercel will build your site for you and then publish that build output to the web. But, some sites will require you to build locally and then run a deploy command or upload your build output.
You may also wish to build locally to preview your site, or to catch any potential errors and warnings in your own environment.
Run the command npm run build
to build your Astro site.
By default, the build output will be placed at dist/
. This location can be changed using the outDir
configuration option.
Adding an Adapter for on-demand rendering
Section titled Adding an Adapter for on-demand renderingBefore deploying your Astro site with on-demand rendering enabled, make sure you have:
- Installed the appropriate adapter to your project dependencies (either manually, or using the adapter’s
astro add
command, e.g.npx astro add netlify
). - Added the adapter to your
astro.config.mjs
file’s import and default export when installing manually. (Theastro add
command will take care of this step for you!)