継続的デリバリー サービスを使用してモバイル アプリケーションのデプロイとリリースを自動化する

開発者は、コードを記述してコード リポジトリにチェックしますが、リポジトリにチェックインされたコミットに常に一貫性があるわけではありません。 複数の開発者が同じプロジェクトに取り組むと、問題が統合される可能性があります。 チームは、物事が機能せず、バグが積み重なり、プロジェクト開発が遅れる状況に陥る可能性があります。 開発者は、ソフトウェア コード全体がビルドされ、エラーをチェックするためにテストされるまで待つ必要があります。これにより、プロセスが遅くなり、反復的な処理が少なくなります。

継続的デリバリーを使用すると、モバイル アプリケーションのデプロイとリリースを自動化できます。 テスト担当者または会社の従業員のグループ (ベータ テストの場合) またはアプリ ストア (運用環境の場合) にアプリケーションを配布するかどうかは関係ありません。 継続的デリバリーにより、デプロイのリスクが軽減され、迅速なイテレーションが促進されます。 また、継続的な方法で顧客に新しい変更をリリースすることもできます。

アプリケーション バイナリをベータ テスト担当者に配布する

モバイル アプリケーションのベータ テストは、アプリケーション開発プロセス中の重要な手順の 1 つです。 これは、早い段階でアプリケーションのバグや問題を見つけるのに役立ちます。 フィードバックにより、運用環境で使用する準備を整えると、アプリケーションの品質が向上します。

モバイル アプリで継続的デリバリー パイプラインを有効にするには、次のサービスを使用します。

Visual Studio App Center の配布

App Center Distribute は、開発者がビルドをデバイスにすばやくリリースするためのツールです。 完全なインストール ポータル エクスペリエンスを備えた App Center Distribute は、ベータ 版アプリ テスター配布用の強力なソリューションです。 また、パブリック アプリ ストアを介して配布する便利な代替手段でもあります。 開発者は、App Center Build とパブリック アプリケーション ストアの統合を使用して、配布ワークフローをさらに自動化できます。

Visual Studio App Center の機能の配布

  • アプリをベータ テスト担当者とユーザーに配布し、すべてのテスト担当者が最新バージョンのアプリケーションにあることを確認します。
  • テスト担当者がダウンロード フローを再度実行せずに、新しいリリースをテスト担当者に通知します。
  • アプリケーションのさまざまなバージョンの配布グループを管理します。
  • 店舗に配布する:
  • iOS、Android、macOS、tvOS、Xamarin、React Native、Unity、Cordova のプラットフォームサポートを取得します。
  • プロビジョニング プロファイルに iOS デバイスを自動的に登録します。

Visual Studio App Center 参照の配布

Azure Pipelines

Azure Pipelines は、お好みの Git プロバイダーと連携するフル機能の継続的インテグレーション (CI) および継続的デリバリー (CD) サービスです。 Azure Pipelines は、Azure サービスなど、ほとんどの主要なクラウド サービスにデプロイできます。 コードは、GitHub、GitHub Enterprise Server、GitLab、Bitbucket Cloud、または Azure Repos で開始できます。 その後、コードのビルド、テスト、デプロイを Microsoft Azure、Google Cloud Platform、またはアマゾン ウェブ サービス (AWS) に自動化できます。

Azure Pipelines の機能

  • CI サーバーを設定するための簡略化されたタスク ベースのエクスペリエンス:ネイティブ (Android、iOS、Windows) とクロスプラットフォーム (Xamarin、Cordova、React Native) の両方のモバイル アプリケーション用に CI サーバーを設定します。
  • 任意の言語、プラットフォーム、クラウド: Node.js、Python、Java、PHP、Ruby、Go、C/C++、C#、Android、iOS アプリをビルド、テスト、デプロイします。 Linux、macOS、Windows で並列で実行します。 Azure、AWS、Google Cloud Platform などのクラウド プロバイダーにデプロイします。 ベータ チャネルとアプリ ストアを通じてモバイル アプリケーションを配布する。
  • ネイティブ コンテナーのサポート: 新しいコンテナーを簡単に作成し、任意のレジストリにプッシュします。 独立したホストまたは Kubernetes にコンテナーをデプロイします。
  • 高度なワークフローと機能: ビルド チェーンとマルチスケール ビルドを簡単に作成できます。 YAML、テスト統合、リリース ゲート、レポートなどのサポートを受けます。
  • 拡張: Slack から SonarCloud までの数百の拡張機能を含む、コミュニティによって構築されたさまざまなビルド、テスト、デプロイ タスクを使用します。 Jenkins などの他の CI システムからデプロイすることもできます。 Web フックと REST API は、統合に役立ちます。
  • 無料のクラウドでホストされるビルド: これらのビルドは、パブリック リポジトリとプライベート リポジトリで使用できます。
  • 他のクラウド ベンダーへのデプロイのサポート: ベンダーには、AWS と Google Cloud Platform が含まれます。

Azure Pipelines のリファレンス

アプリケーションを App Store に直接配布する

アプリケーションを運用環境で使用する準備が整い、それを一般に使用する場合は、顧客がダウンロードできるアプリ ストアにアプリケーションを送信する必要があります。 アプリケーションをアプリ ストアに直接配布するには、複数の方法があります。

Visual Studio App Center のストアの配布

App Center Distribute を使用すると、モバイル アプリケーションをアプリ ストアに直接発行できます。 アプリケーションをユーザーがダウンロードする準備ができたら、Visual Studio App Center ポータルから直接アプリケーション バイナリを発行できます。

次の場所に直接配布できます。

Apple App Store

Apple によって開発および管理されているアプリ ストアでは、ユーザーは iOS、MacOS、WatchOS、tvOS デバイス用に開発されたアプリケーションを参照してダウンロードできます。 開発者は、一般に使用するために iOS アプリを Apple App Storeに送信する必要があります。

Google Play

Google Play は Android OS の公式アプリ ストアであり、ユーザーは Google を通じて公開されている Android デバイス用に開発されたアプリケーションを閲覧およびダウンロードできます。

Intune

Microsoft Intuneは、企業のデータを保護しながら従業員の生産性を高めるのに役立つ、エンタープライズ モビリティ管理空間のクラウドベースのサービスです。 Intune では、次のことができます。

  • 従業員が会社のデータにアクセスするために使用するモバイル デバイスと PC を管理します。
  • 従業員が使用するモバイル アプリケーションを管理します。
  • 従業員がアクセスして共有する方法を制御することで、会社の情報を保護します。
  • デバイスとアプリケーションが会社のセキュリティ要件に準拠していることを確認します。

更新プログラムをユーザーのデバイスに直接展開する

CodePush

App Center の CodePush を使用すると、Apache Cordova とReact Native開発者は、モバイル アプリケーションの更新プログラムをユーザーのデバイスに直接デプロイできます。 JavaScript、HTML、CSS、イメージの変更など、開発者が特定の更新プログラムを発行できる中央リポジトリとして機能します。 その後、アプリケーションは、指定されたクライアント SDK を使用して、リポジトリからの更新を照会できます。 このようにして、バグに対処したり、小さな機能を追加したりしながら、ユーザーとのより明確で直接的なエンゲージメント モデルを作成できます。 バイナリを再構築したり、パブリック アプリ ストアを通じて再配布したりする必要はありません。

CodePush の主な機能

  • Cordova とReact Native開発者は、ストアでリリースすることなく、モバイル アプリケーションの更新プログラムをユーザーのデバイスに直接展開できます。
  • バグを修正したり、バイナリを再構築して各ストアを通じて再配布したりする必要のない小さな機能を追加および削除するのに便利です。

CodePush 参照