How to develop & deploy Shopify apps and themes with CI/CD
Editing themes live in the Shopify admin doesn't scale, and Theme Kit is now deprecated. Here are the seven real ways to build, test, and ship Shopify themes and apps on every push — compared honestly, with the one we'd start with on top.
The best Shopify deployment workflow depends on what you're building:
- Full CI/CD for themes + apps → Buddy — native Shopify actions, an official App Store app, multi-store environments and approvals.
- Local development → Shopify CLI — the official tool to build and preview themes and apps (but it's local, not CI/CD).
- Zero-config theme versioning → Shopify's GitHub integration — plain two-way sync, no builds or tests.
- Headless (Hydrogen) storefronts → Netlify / Vercel — for the decoupled frontend only.
Why it's harder than it looks
What makes Shopify delivery tricky
Shopify has two build surfaces — Liquid themes and custom apps — and neither is safe to hand-deploy at any scale. These are the pains a real workflow has to solve.
Editing live is risky
Changing theme code in the Shopify admin has no review, no history, and no undo — one bad save is live on the storefront instantly.
Theme Kit is deprecated
Shopify deprecated Theme Kit in September 2024. Pipelines built on it still run basic push/pull but get no updates and will eventually stop working.
Generic CI has no Shopify smarts
GitHub Actions and GitLab CI can deploy Shopify, but you hand-write the YAML and wire up store URLs, tokens, and Theme Access passwords yourself.
Themes and apps differ
Theme-sync tools ignore app backends; headless hosts ignore Liquid themes. Most single-purpose tools cover only one surface.
Multi-store promotion is manual
Moving a change from a development store to staging to production means juggling several stores — something most point tools don't model.
Secrets and tokens sprawl
Theme Access passwords, Partner tokens and API scopes have to live somewhere safe and rotate — fragile when it's copy-pasted into ad-hoc CI.
The shortlist
7 ways to build & deploy Shopify, ranked
Ranked by how completely each one covers a real workflow — themes and apps, tested, across stores. Every option gets an honest weakness.
Visual CI/CD with dedicated Shopify actions (Deploy, Shopify CLI, Theme Kit), an official Shopify App Store app, multi-store environments and approvals. Covers themes and apps and deploys backends to any host. Free tier to start.
Shopify's official tool to build, preview, and deploy themes and apps, with dev themes and Theme Check. The baseline everyone uses — but it's a local CLI, not CI/CD, so it needs a pipeline around it.
General-purpose CI/CD in YAML beside your repo. Great if you're all-in on GitHub — but there are no Shopify-native steps, so you script Shopify CLI and manage secrets by hand.
Shopify's own two-way sync between a GitHub branch and a store theme. Effortless versioning — but it's file-sync only (no builds, tests, or approvals) and themes only.
The old Go-based theme CLI, long used in CI for theme pushes. Deprecated since September 2024 — fine if an existing pipeline still uses it, but plan to migrate to Shopify CLI.
Build-and-host platforms for headless / Hydrogen (React) storefronts. Great for a decoupled frontend — but irrelevant to Liquid themes and to a Shopify app's full backend lifecycle.
Repo + CI/CD in one place; .gitlab-ci.yml runs Shopify CLI in jobs you define. Solid for GitLab teams — but, like GitHub Actions, there are no Shopify-native steps and the smallest free minutes.
Side by side
Shopify deployment tools compared
What each option actually covers for a real build-test-deploy workflow. Buddy's row is highlighted because it's the only one that's yes across every column.
| Tool | Type | Shopify-native steps | Themes / Apps | Multi-store envs | Test / approve before deploy | Best for |
|---|---|---|---|---|---|---|
| Buddy | Visual CI/CD + YAML | ✓ Deploy, CLI, Theme Kit | Themes + Apps | ✓ | ✓ | All-in-one Shopify CI/CD |
| Shopify CLI | Local CLI | ✓ official tool | Themes + Apps | manual | Theme Check, local | The local dev loop |
| GitHub Actions | YAML CI | ✗ DIY | Themes + Apps (scripted) | you build it | you build it | GitHub-native teams |
| Shopify GitHub integration | Native two-way sync | ✓ theme sync | Themes only | ✗ | ✗ | Zero-config theme sync |
| Theme Kit | CLI (deprecated) | ✓ legacy | Themes only | manual | ✗ | Legacy theme pipelines |
| Netlify / Vercel | Build + host | ✗ | Headless only | deploy previews | build previews | Headless / Hydrogen |
| GitLab CI/CD | YAML CI | ✗ DIY | Themes + Apps (scripted) | you build it | you build it | GitLab-native teams |
Capabilities and pricing change often — check each vendor for current terms. Compiled July 2026 from each tool's official documentation.
Official pages: Buddy Shopify · Shopify CLI · GitHub Actions · Shopify GitHub integration · Theme Kit · Netlify · Vercel · GitLab CI/CD
Why we rank it first
What makes Buddy the strongest Shopify pick
Buddy is the only option that pairs Shopify-native actions with a real pipeline — build, test, approve, and ship themes and apps across stores, without hand-written YAML.
Native Shopify actions
A dedicated Shopify Deploy action (changeset uploads + rollback), a Shopify CLI action for themes and apps, and a Theme Kit action — no YAML to hand-roll.
Official App Store app
Buddy is listed in the Shopify App Store — install it, connect your GitHub/GitLab repo, and deploy on every push.
Visual pipelines
Compose the whole build → test → deploy flow in a visual editor (or YAML) that the whole team can read and change — not a wall of pipeline config.
Multi-store & approvals
Model dev, staging, and production stores as environments and require a manual approval before the production deploy.
Test before you ship
Run Theme Check, tests, or a preview on every push before anything touches a live theme — catch mistakes in the pipeline, not the storefront.
Own the build, choose the host
Deploy themes to Shopify and deploy your Shopify app backend to Buddy Dev Cloud or any host you already use.
A fair call
When you don't need a full pipeline
Not every store needs CI/CD. Here's the honest line on when a simpler tool is enough — and when it isn't.
A simpler tool is fine if…
- You only touch a Liquid theme and rarely change it.
- One developer works alone and edits mostly in the admin or locally with Shopify CLI.
- Plain two-way sync via the Shopify GitHub integration covers your versioning needs.
- You have no separate staging store and no app backend to deploy.
Reach for a real pipeline (Buddy) if…
- You deploy across multiple stores (dev → staging → production).
- You want tests and an approval gate before anything hits production.
- You ship apps and themes, and need to deploy an app backend somewhere.
- You're still on deprecated Theme Kit and want a supported path forward.
Common questions
Shopify deployment — common questions
What is the best way to deploy a Shopify theme with CI/CD?
The most robust way is a CI/CD pipeline that runs on every push, tests the theme (for example with Theme Check), and deploys it to the store — with separate development, staging, and production stores. Buddy does this with a dedicated Shopify Deploy action that uploads only changed files and supports rollback, so you avoid editing themes live in the Shopify admin. Generic CI like GitHub Actions or GitLab CI can also do it, but you script the Shopify steps yourself.
Is Shopify Theme Kit still supported?
No. Shopify deprecated Theme Kit in September 2024 and now directs developers to Shopify CLI. Theme Kit still installs and does basic push and pull on existing projects, but it no longer receives feature updates, will not support newer Shopify capabilities, and Shopify has said it will eventually stop working. New projects should use Shopify CLI; existing Theme Kit pipelines should plan a migration.
Can I use Shopify CLI in a CI/CD pipeline?
Yes. Shopify CLI is the official tool for building themes and apps, and it can run in CI using a Theme Access password or Partner token. Shopify CLI itself is a local command-line tool, not a CI/CD system, so you run it inside a pipeline. Buddy provides a dedicated Shopify CLI action that runs it in a pipeline to build, test, and sync both themes and apps.
What is the difference between the Shopify GitHub integration and a CI/CD pipeline like Buddy?
The Shopify GitHub integration is a zero-config, two-way file sync between a GitHub branch and a store theme — it does not build, test, or add approval steps, and it only handles themes. A CI/CD pipeline like Buddy runs a real build-test-deploy workflow: run Theme Check or tests, require an approval before production, deploy across multiple stores, and handle app backends too. The integration is fine for simple theme sync; a pipeline is for controlled, multi-environment delivery.
How do I deploy a Shopify app, not just a theme?
A Shopify app has an app configuration you deploy with Shopify CLI (shopify app deploy) plus a backend (for example Node or Remix) that you host somewhere. In a pipeline you run Shopify CLI to push the app configuration and then deploy the backend to your host. Buddy handles both: run the Shopify CLI action for the app, and deploy the backend to Buddy Dev Cloud or any host with Buddy's other deployment actions.
Does Buddy have an official Shopify app?
Yes. Buddy is listed in the Shopify App Store as an official Workflow Automation app that builds, tests, and deploys themes on every push from GitHub, GitLab, and other repositories. You can install it from apps.shopify.com/buddy. The app is free on the App Store; Buddy's own platform plans apply for pipeline usage.
How do I manage multiple Shopify stores (development, staging, production)?
Use environments so each store has its own credentials and target, and promote code from a development store to staging and then production through your pipeline. Shopify CLI supports multiple environments locally; a CI/CD platform adds triggers and approval gates on top. Buddy models dev, staging, and production stores as pipeline environments with an approval step before the production deploy.