Skip to main content

Setting Up CI/CD

This guide walks through a recommended workflow for a team continuously deploying a Shopify theme with Theme Deploy.

main → live theme (auto-publish on)
develop → [TD] develop (team integration preview)
feature/* → [TD] feature/... (per-feature previews)

Step by step​

1. Put your theme in a GitHub repository​

Your repo root should be a standard Shopify theme:

assets/
config/
layout/
locales/
sections/
snippets/
templates/

Don't worry about config/settings_data.json — Theme Deploy always uses the live theme's settings at deploy time, so you can safely .gitignore it or leave a placeholder.

2. Connect the repository​

Follow Connecting GitHub. After selecting the repo, your default branch is deployed once automatically — check the dashboard and open the preview to verify the theme renders correctly.

3. Verify with preview deployments first​

Leave auto-publish off initially. Push a small change to a feature branch:

git checkout -b feature/test-deploy
# edit a snippet or asset
git commit -am "Test Theme Deploy"
git push -u origin feature/test-deploy

Within moments you should see a new deployment on the dashboard, and a [TD] feature/test-deploy theme in your Shopify admin. Open the preview link to confirm.

4. Enable auto-publish​

Once you trust the pipeline, toggle auto-publish on the dashboard. From now on, pushes to your production branch update your live theme directly.

5. (Team plan) Tune your branch rules​

On the Team plan, open Settings to:

  • set a dedicated production branch (e.g. production), and
  • restrict preview deployments to selected branches so experimental pushes don't consume usage minutes.

Day-to-day workflow​

  1. Branch off main for each feature.
  2. Push — review the change on the branch's preview theme with stakeholders.
  3. Merge to main — the merge push deploys straight to the live theme.
  4. Periodically delete stale [TD] themes from the Shopify admin.
Theme editor changes

Merchants can keep using the Shopify theme editor while you deploy — settings are preserved automatically. But code changes made directly in the Shopify code editor will be overwritten by the next deploy. Make all code changes in Git.