Bengal generates static HTML, CSS, and JavaScript files. This means you can host your site anywhere that serves static files (e.g., GitHub Pages, Netlify, Vercel, AWS S3, Nginx).
The Production Build
When you are ready to ship, run the build command:
bengal build --environment production
This command:
- Loads configuration from
config/environments/production.yaml(if it exists) - Minifies assets (if enabled)
- Generates the
public/directory with your complete site
Common Build Flags
| Flag | Description | Use Case |
|---|---|---|
--environment production |
Loads production config overrides. | Always use for shipping. |
--strict |
Fails the build on warnings (e.g., broken links). | Highly Recommended for CI/CD. |
--clean-output |
Cleans thepublic/directory before building. |
Recommended to avoid stale files. |
--verbose |
Shows detailed logs. | Useful for debugging CI failures. |
Example full command for CI:
bengal build --environment production --strict --clean-output
GitHub Pages
Deploy using GitHub Actions. Create.github/workflows/deploy.yml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | |
Netlify
Create anetlify.tomlin your repository root:
1 2 3 4 5 6 | |
Vercel
Configure your project:
- Build Command:
bengal build --environment production - Output Directory:
public - Ensure your
requirements.txtincludesbengal.
Environment Variables
Bengal allows you to inject environment variables into your configuration using{{ env.VAR_NAME }}syntax in your YAML/TOML config files.
config/environments/production.yaml:
1 2 3 | |
Then setAPI_KEYandANALYTICS_IDin your hosting provider's dashboard.
Pre-Deployment Checklist
Before you merge to main or deploy:
- Run
bengal config doctor: Checks for common configuration issues. - Run
bengal build --strictlocally: Ensures no broken links or missing templates. - Check
config/environments/production.yaml: Ensure yourbaseurlis set to your production domain.
1 2 3 | |
Seealso
- Automate with GitHub Actions — Full CI/CD tutorial
- Configuration — Environment-specific settings
- Performance — Optimize build times
In This Section
Related Pages
Automate with GitHub Actions
Set up automated builds, testing, and deployments using GitHub Actions