CI/CDパイプラインにおけるアプリのデプロイ制御が強化

1. 技術的課題の定義と現状分析

自動化されたアプリリリースにおける拡張機能や設定のアップデートに関して、開発者がより細かく制御できるようにすることは、CI/CDパイプラインの安全性を高める重要な課題でした。これまでは--forceコマンドを使用して強制的にデプロイするしか方法がありませんでしたが、これには既存の設定や拡張機能を削除するリスクがありました。

2. 具体的な技術的ソリューションの提案

Shopify CLI 3.89では、shopify app deployshopify app releaseコマンドに新たなフラグが追加されました。これにより、アプリの設定や拡張機能の新規追加、更新、削除をより細かく制御できるようになりました。

3. 実装手順とコード例

以下に、新たに追加されたフラグの使用方法を示します。

  • --allow-updates: アプリの設定と拡張機能の新規追加や更新を許可します。
    例:shopify app deploy --allow-updates
  • --allow-deletes: アプリの設定と拡張機能の削除を許可します。
    例:shopify app deploy --allow-deletes

既存の--forceコマンドは、これらのフラグを組み合わせて使用することと同等です。

4. パフォーマンス・コスト分析

これらの新たなフラグを使用することで、デプロイ時のリスクを低減し、CI/CDパイプラインの安全性を向上させることが可能になります。これにより、開発者はより確信を持って自動化されたアプリリリースを行うことができます。

5. 実装時の注意点・ベストプラクティス

注意:アプリの設定や拡張機能を削除すると、アプリをインストールしているストアの関連データも削除されます。ストアデータを誤って削除しないように、デフォルトのCI/CDワークフローでは--allow-updatesフラグのみを使用することをShopifyは推奨しています。

6. 次のステップ・発展案

これらの新たなフラグを活用して、CI/CDパイプラインの安全性をさらに高めるためのワークフローを設計してみてください。また、詳細な情報についてはShopify.devのドキュメンテーションを参照してください。

参考記事: More control over app deploys in CI/CD pipelines