継続的なビルドと統合を使用してアプリのライフサイクルを自動化する

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

継続的なビルドと統合により、開発者はソース コード リポジトリに変更をコミットし、テストと検証をビルド環境に配置することで、ビルドを簡略化し、コードをテストできます。 このようにして、常にコードに対してテストを実行しています。 ソース コードに加えられたすべての変更は、リポジトリにコミットが行われるたびに継続的にビルドされます。 すべてのチェックで、継続的インテグレーション (CI) サーバーは、開発者が作成したすべてのテストを検証して実行します。 テストが成功しない場合、コードはそれ以上の変更のために返送されます。 このようにして、開発者は作成されたビルドを中断しません。 また、すべてのテストをコンピューターでローカルで実行する必要がないため、開発者の生産性が向上します。

主な利点

  • パイプラインのビルド、テスト、デプロイを自動化します。
  • バグを検出し、早期に問題を修正して、リリース率を速くします。
  • コードをより頻繁にコミットし、アプリケーションを迅速にビルドします。
  • 問題なくコードをすばやく変更できる柔軟性が得られます。
  • 市場投入までの時間を短縮し、優れた品質のコードだけがそれを完全に実現できるようにします。
  • 小さなコードが一度に統合されるため、小さなコードの変更をより効率的に行います。
  • 顧客とチームから継続的なフィードバックを得ることができるように、チームの透明性とアカウンタビリティを高めます。

次のサービスを使用して、モバイル アプリで継続的インテグレーション パイプラインを有効にします。

Visual Studio App Center

App Center Build は 、セキュリティで保護されたクラウド インフラストラクチャを使用して、チームが取り組んでいるネイティブアプリケーションとクロスプラットフォーム アプリケーションを構築するのに役立ちます。 Visual Studio App Center でリポジトリを簡単に接続し、コミットするたびにクラウドでアプリのビルドを開始できます。 ビルド サーバーをローカルで構成すること、複雑な構成、同僚のマシン上にビルドするコードについて心配する必要はありませんが、自分のマシン上に構築する必要はありません。

Visual Studio App Center サービスの機能を追加することで、ワークフローをさらに自動化できます。 App Center Distribute を使用すると、テスト担当者やパブリック アプリ ストアにビルドを自動的にリリースできます。 App Center Test を使用して、クラウド内の何千もの実際のデバイスと OS 構成に対して自動化された UI テストを実行することもできます。

Visual Studio App Center の機能

  • 数分で継続的インテグレーションを設定し、より頻繁かつ迅速にアプリケーションを構築します。
  • GitHub、BitBucket、Azure DevOps、GitLab と統合します。
  • クラウドでホストされるマネージド マシン上に高速で安全なビルドを作成します。
  • ビルドでテストを開始し、アプリが実際の iOS デバイスと Android デバイスでビルドされているかどうかを確認できるようにします。
  • iOS、Android、macOS、Windows、Xamarin、React Nativeのネイティブおよびクロスプラットフォームサポートを利用できます。
  • クローン後、ビルド前、ビルド後のスクリプトを追加して、ビルドをカスタマイズします。

Visual Studio App Center のリファレンス

Azure Pipelines

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

Azure Pipelines の機能

  • CI サーバーを設定するための簡略化されたタスク ベースのエクスペリエンス:Microsoft および Microsoft 以外 (Node.js、Java) ベースのサーバー テクノロジに加えて、ネイティブ (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 Center ビルドと Azure Pipelines を比較する記事を参照してください。