I’ve been trying to work Github and CLI into my deployment process but for me both solutions seem inadequate so I thought I’d share my frustrations and see if anyone else is running into these issues (or feel free to offer solutions).
For me, ThemeKit still seems like a much better solution for day to day development and I hope/pray Shopify don’t phase out support for it.
Github
Doesn’t integrate well will multi-region stores with .json files that differ
I have a number of clients with multiple regional stores that share the same theme but have different settings_data.json files. This wasn’t a problem with ThemeKit because we could exclude files in the config.yml file.
Adding the templates/* to .gitignore removes the files from the theme on Shopify and it doesn’t appear there is any alternative to retain json data files on the Shopify store theme, but have them untracked in the git repo.
Requires a non-Partner account
As experts, we are generally logging into customer’s stores from partner accounts, so I can’t understand making this not available to Partner accounts.
CLI
Can only log into and deploy to 1 store/theme at a time.
I work on a number of client’s stores throughout the day, often switching back and forward between them. I don’t want to be logging in and out of different stores one at a time throughout the day or having to constantly check which store I’m logged into.
And most of my clients have multiple regional stores that share the same theme so I need to be able to deploy updates to all stores. Easy to do with ThemeKit but with CLI I have to deploy to 1 store at, log out, log into another, deploy to that store etc. It’s a slow process and creates room for human error in skipping stores.
Sometimes I’m just deploying a quick 1 min fix, but with CLI this is turned into a tedious task.
Does it support checksums?
ThemeKit introduced checksums to skip file uploads and downloads where the file hasn’t changed. So if I had a newer unpublished edits locally, they wouldn’t be overwritten when pulling theme updates. Am I correct in my belief that shopify theme pull overwrites all local files, even newer versions of files?
It was a handy feature in ThemeKit for when another developer has made edits to the theme and you need to find and pull those edits into your local repo.
