Most static site generators offer a number of configuration options for use on the command line. Configure these and other CloudCannon-specific build options per site.
To change a command line build option:
- Go to the Site Settings / Build section
- Change details for one or more options
- Click Update Configuration
See in-depth details for configuring Environments and Optimizations

Using Environment Variables#
Environments allow you to use different values in your website depending on where it is deployed. For example, you could use a different CDN for your development, staging and production sites.
To change the environment variables for your site:
- Go to the Site Settings / Configuration section
- Create/edit your environment key and value under Environment Variables
- Click Update Build Details
specific doc
CloudCannon defaults to production. Running Jekyll locally defaults to development.
$ JEKYLL_ENV=production bundle exec jekyll serve
Jekyll exposes the environment with jekyll.environment
. You can use this to create separate configurations.
Here’s a short example using variables from _config.yml
:
development:
asset_url: "http://localhost:1337/"
app_url: "http://localhost:3000/"
staging:
asset_url: "https://staging.example.org/assets/"
app_url: "https://staging.example.org/"
production:
asset_url: "https://cdn.example.org/"
app_url: "https://app.example.org/"
---
---
<p>Environment: {{ jekyll.environment }}</p>
<p>Asset URL: {{ site[jekyll.environment].asset_url }}</p>
<p>App URL: {{ site[jekyll.environment].app_url }}</p>
<p>Development Asset URL: {{ site.development.asset_url }}</p>
<p>Production Asset URL: {{ site.production.asset_url }}</p>
<p>Staging Asset URL: {{ site.staging.asset_url }}</p>
<p>Development App URL: {{ site.development.app_url }}</p>
<p>Staging App URL: {{ site.staging.app_url }}</p>
<p>Production App URL: {{ site.production.app_url }}</p>
specific doc
CloudCannon defaults to production. Running hugo
locally defaults to production. Running hugo server
locally defaults to development.
To change the environment locally, set it before running Hugo:
$ HUGO_ENV=production hugo
You can set the Hugo environment using the —-environment
flag in the command line. Learn more about build configuration.
Hugo exposes the environment with hugo.Environment
.
Using a configuration directory allows you to create separate configurations for each environment. See the example in the Hugo documentation.
specific doc
CloudCannon has no default. You should set your environment variables everywhere you need them before building. The Eleventy documentation mentions ELEVENTY_ENV
as a convention.
To change the environment locally, set it before running Eleventy:
$ ELEVENTY_ENV=production npx @11ty/eleventy
specific doc
CloudCannon does not set default environment variables for other SSGs.
To change an environment variable locally, set it before running your build command:
$ MY_ENV_VAR=hello <build command>