You can deploy an Astro site to GitHub Pages by using GitHub Actions to automatically build and deploy your site. To do this, your source code must be hosted on GitHub.
Astro maintains the official withastro/action to deploy your project with very little configuration. Follow the instructions below to deploy your Astro site to GitHub pages, and see the package README if you need more information.
Set the site and, if needed, base options in astro.config.mjs.
site should be https://<YOUR_USERNAME>.github.io or https://my-custom-domain.com
base should be your repository’s name starting with a forward slash, for example /my-repo. This is so that Astro understands your website’s root is /my-repo, rather than the default /.
Create a new file in your project at .github/workflows/deploy.yml and paste in the YAML below.
On GitHub, go to your repository’s Settings tab and find the Pages section of the settings.
Choose GitHub Actions as the Source of your site and press Save.
Commit the new workflow file and push it to GitHub.
Your site should now be published! When you push changes to your Astro project’s repository, the GitHub Action will automatically deploy them for you.