Netlify
Deploy your Velocity site to Netlify.
Quick Deploy
Section titled “Quick Deploy”-
Push your code to GitHub, GitLab, or Bitbucket
-
Log in to Netlify
-
Click “New site from Git”
-
Select your repository
-
Set environment variables
-
Click Deploy
CLI Deployment
Section titled “CLI Deployment”# Install Netlify CLIpnpm add -g netlify-cli
# Loginnetlify login
# Deploy previewnetlify deploy
# Deploy to productionnetlify deploy --prodConfiguration
Section titled “Configuration”Create netlify.toml in project root:
[build] command = "pnpm build" publish = "dist"
[build.environment] NODE_VERSION = "22"Server-Side Features
Section titled “Server-Side Features”For API routes and SSR, add the Netlify adapter:
pnpm add @astrojs/netlifyimport netlify from '@astrojs/netlify';
export default defineConfig({ output: 'server', adapter: netlify(),});Environment Variables
Section titled “Environment Variables”Set in Netlify Dashboard → Site Settings → Environment Variables:
SITE_URL=https://your-site.netlify.appPUBLIC_GA_MEASUREMENT_ID=G-XXXXXXXXXXOr in netlify.toml:
[context.production.environment] SITE_URL = "https://yoursite.com"Custom Domain
Section titled “Custom Domain”- Go to Domain Settings
- Add custom domain
- Configure DNS
- Enable HTTPS
Functions
Section titled “Functions”Netlify Functions for serverless:
export async function handler(event, context) { return { statusCode: 200, body: JSON.stringify({ message: 'Hello!' }), };}Build Settings
Section titled “Build Settings”| Setting | Value |
|---|---|
| Build Command | pnpm build |
| Publish Directory | dist |
| Node Version | 22 |
Deploy Previews
Section titled “Deploy Previews”Every pull request gets a preview URL:
deploy-preview-123--your-site.netlify.app
Troubleshooting
Section titled “Troubleshooting”Build Timeout
Section titled “Build Timeout”Increase timeout in netlify.toml:
[build] command = "pnpm build" publish = "dist"
[functions] timeout = 60Node Version
Section titled “Node Version”Ensure Node 22+ in netlify.toml:
[build.environment] NODE_VERSION = "22"