Deployment

Once you have built your datafiles, you can deploy them to your CDN or any other static file hosting service.

We recommend that you set up a CI/CD pipeline to automate the build and deployment process, instead of doing it from your local machine.

Steps involved#

When a new Pull Request (branch) is merged, the CI/CD pipeline should cover:

Linting#

Lint all the attributes, segments, and feature definitions:

Testing#

Test all the features and segments:

Build the datafiles#

Commit the state files#

$ git add .featurevisor/*

$ git commit -m "[skip ci] Revision $(cat .featurevisor/REVISION)"

Only the state files should be committed as available under .featurevisor directory. The generated datafiles in datafiles directory are ignored from Git.

Upload to your CDN#

This step is specific to your CDN provider or custom infrastructure.

You can use the datafiles directory as the root directory for your CDN.

Push commits back to upstream#

We want to make sure the next Pull Request merge will be on top of the latest version and state files.

If any of the steps above fail, the CI/CD pipeline should stop and notify the team.

Fully functional example#

You can refer to the CI/CD guide for GitHub Actions and either Cloudflare Pages or GitHub Pages if you want a fully functional real-world example of setting up a Featurevisor project.

Repo is available here: https://github.com/featurevisor/featurevisor-example-cloudflare.