開発環境から、本番環境にテーマを公開する際、
公式とは違う方法(?)で納品したので備忘録として。
おそらく一般的な本番公開方法
所有者権限をクライアントに譲渡する
https://www.shopify.jp/blog/partner-development-stores
のですが、今回は
開発したテーマを開発環境から本番環境に移行する
方法で納品しました。
作成して納品して終わり。ではなく、今後も定期的に依頼があると思うので、
開発環境を残しておくのは大事かなと思います。
ざっと、雑に説明。(スミマセン)
環境
・Shopify partnersで開発環境を作成
・無料テーマのMinimal(11.7.20)をカスタマイズして開発
・納品時、クライアントはShopifyの契約済み
公開方法
①本番環境のAPIのPWを発行する
APIのPW発行は開発環境を作成する時と同じ作業なので、問題ないかと。
テーマをdownloadしなくていいので、違いはそこくらい。
設定もほぼ同じで大丈夫です。一度行った事があると思うので説明は省略します。
Admin API権限の
テーマ
テーマテンプレートとアセットを表示または管理する
を 読み取りおよび書き込み
にするのをお忘れなく。
私は最初やってなくてエラー出て怒られました!
ここでは、①権限の変更 ②Admin APIのPWをメモ
だけでOKです。
(既存テーマを使用している場合は、一応開発環境のテーマ名を変更しておく)
②config.ymlにproductionを追加
開発環境がdevelopmentで、本番環境がproductionと呼ぶらしい。(へ〜。)
development:
password: shppa_000000000000......
theme_id: "102000000000"
store: https://shopifysite-dev.myshopify.com
production:
password: shppa_000000000000......
theme_id: "102000000000"
store: https://shopifysite.myshopify.com
developmentはTheme Kitの開発環境をローカルに持ってきた時に、作成しています。
なので今回はproductionを追加。
passwordは先ほど①で発行したAPIのPW。
storeは、本番環境のURL
theme_id、これに引っかかった。
開発環境で作成したテーマのidかと思っていましたが、
本番環境にダウンロードしてあるテーマのid
です!
もしテーマがなかったら、ダウンロードしてください。DebutでもMinimalでもなんでもOK。
本番環境にダウンロードしたテーマに、上書きする形で開発環境のテーマを入れます。
欲しいのはidだけなので、無料テーマを適当に入れればOKという事です。
production関連のコマンド(というかTheme Kitに関して)が公式サイトに出てるので、こちら確認してみてください。
https://shopify.github.io/themekit/commands/
今使用している環境のテーマのidを取得する方法はこれ。
theme get --list -p=shppa_000000000000...... --store=https://shopifysite-dev.myshopify.com
[102078415014] Narrative
[102078677158] Boundless
[102079463590][live] ThemeName [Minimal]
[106414538918] Debut
[113151508646] Boundless
[113909334182] Venture
[live]が現在のテーマ
参考サイト
↓
https://qiita.com/pakchandae/items/f72caedc661590d35488
③開発環境のテーマを本番環境にデプロイする
theme deploy -a
出てきたエラー一覧
あと、本番に公開する時に地味にてこずったので、
打ったコマンドと表示されたエラーを一応置いときます。つ
一応解決してるので、参考になれば。と。
////
theme deploy -a
↓
invalid environment [production]: (invalid store domain must end in '.myshopify.com')
↓
ケツは.myshopify.comだよ。確かに。.myshopify.com/まで入れてたわ。すまん。
////
theme deploy -a --allow-live
↓
[API] This action requires merchant approval for read_themes scope.
(このアクションは、read_themesのスコープにマーチャントの承認が必要です。)
とか
[development] 132|134 [============================================================================>-] 99 %
requested theme was not found
↓
権限が少なかったわ、すまん。設定し直すわ。
"公開方法"の"①本番環境のAPIのPWを発行する"の"①権限の変更"に戻る。
そして
[production] 134|134 [==============================================================================] 100 %
[development] 134|134 [==============================================================================] 100 %
気付いたら、100%になっていて、
アップされていましたとさ。
ここのコツは、エラーが何度出ても、theme deploy -a --allow-live
を押しつづける事です。
雑に説明してすみません。。。。
参考サイト
https://ja.ojit.com/so/shopify/1854175
https://qiita.com/pakchandae/items/f72caedc661590d35488