Setting Up CI/CD
This guide walks through a recommended workflow for a team continuously deploying a Shopify theme with Theme Deploy.
Recommended branch strategy
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
- Branch off
mainfor each feature. - Push — review the change on the branch's preview theme with stakeholders.
- Merge to
main— the merge push deploys straight to the live theme. - Periodically delete stale
[TD]themes from the Shopify admin.
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.