2022年12月12日

Continuous Integration

Harness Continuous Integrationの新機能は環境にどう適合するか

新しいHarness Continuous Integration Cache Intelligence、Testing Intelligence、Hosted Builds 機能がどう機能し、どう環境に適合するかを詳しく見てみましょう。

6397b0e9c18396c7084f9a2a_CI New Features_Blog header-p-1080.png

Harnessは最近、市場で入手可能な最速のCIビルドを提供するように設計されたHarness Continuous Integration(CI)モジュールに新機能を追加しました。これらの機能のうちの 2 つは、 Cache Intelligenceと、テストタイミング データに基づくTest ParallelismとAutomatic Splittingを備え、新しく強化したTest Intelligence™です。これらがどう機能し、環境にどう適合するのか、詳しく見てみましょう。

パフォーマンスを改善し、ビルドプロセスを加速する

6397b2c90f378feeae26cc41_Caching Intelligence.png

一部のCI ツールでは、各ビルドが開始される前に、ユーザーが共通オブジェクトをダウンロードしてキャッシュする必要があります。このプロセスはパフォーマンス キラーで、リポジトリーごとに手動での実行を必要とします。従って、50の手動ダウンロードを必要とする50のリポジトリーがある場合、開発者にとって負担であり、ビルドプロセスを劇的に遅くします

Harness CIを使用すると、アプリは言語とコードを自動的にスキャンし、ビルドが行われる前に全ての共通オブジェクトをキャッシュします。 この自動化により、各リポジトリーをダウンロードしたり手動で操作したりする必要がなくなります。 複数のリポジトリーがある場合は、リポジトリーの数の分、時間の節約も大きくなります。 Harness CIは自動化を使用して、開発者に負担をかけずにビルドを高速化します。

 

単体テストサイクルを加速する

6397b2803e081ba6f745276e_Testing Intelligence.png

最近、次のような質問がありました。
「強化したHarness CI Test Intelligenceは、ビルドアーキテクチャーの単体テストの高速化に役立ちますか?」
答えは、「イエス」です。

簡単な概要を説明すると、Test Intelligence(現在、テストタイミング データに基づくTest ParallelismとテストのAutomatic Splittingが含まれています)は、コードを分析し、コードの変更をカバーするために必要な単体テストのみを推奨します。 ビルド アーキテクチャーがどのようなものであっても、新しく強化されたHarnessのTest Intelligenceは、単体テストサイクルのスピードアップに役立ちます。

次のようなビルド環境の場合:

  • ビルド環境に中央ソース管理(SCM)ソリューションがあり、プルリクエストやコードチェックインによって並列ビルドやパイプラインが開始される場合、1.中央SCMでの最初のコードチェックイン時に、あるいは、2.その後のビルドやパイプライン環境での変更に対してTest Intelligenceを実行できます。この場合、Test Intelligence は新しいテストを実行します
  • 複数のSCMソリューションやコードリポジトリーが単一のビルドパイプラインに統合されている場合、アーティファクトがビルドパイプラインに到達する前に、各SCMに対してTest Intelligenceを実行できます。Test IntelligenceはMLを使い、どのテストが必要かを判断します。このようなビルドアーキテクチャーでは、ビルドが単一のパイプラインでキューイングされるため、パフォーマンスが非常に重要です。Harness Hosted Buildsがパフォーマンスを最適化する方法については、以下を参照してください
  • 複数のSCMから複数のビルドパイプラインを構築し、各リポジトリーに対してステップでTest Intelligenceを実行できます。コード解析機能により、実行するテストの数を減らせます。テスト分割は、テストを並行して実行する機能を提供し、実行をさらにスピードアップさせます

つまりTest Intelligence機能は、ビルド環境がどんなものかに関係なく、ソフトウェアビルド内のステップとして実行されます。 つまり、複数のリポジトリーがある場合、1.ソース管理(SCM)ソリューションでの最初のコードチェックイン時、2.またはアーティファクトがパイプラインに到達する前に、各SCMでTest Intelligenceを実行できます。

 

いずれの場合も、Harness CI独自のMLを活用したTest Intelligence機能は、必要なテストを分割し、同時に実行できるようにするテストコンカレンシーを追加することで、さらに時間を節約します。Test Intelligenceは、テストのどのサブセットが必要かを判断し、選択されたテストと、その理由を可視化します。 必要なテストが特定されたら、これらのテストを同時に実行して、品質を損なうことなくビルド時間をさらに短縮します。Test Intelligenceはビルドサイクルを最大90%短縮するため、開発者はビルド完了を待つ無駄な時間をなくせます。

Hosted Buildsでパフォーマンスを最適化する

6397b219f40c6b0c0ee323e0_Hosted Builds.png

パフォーマンスをさらに最適化する1つの方法は、Harness CIのHosted Buildsの利用です。 フルマネージドクラウド サービスとして利用できる Harness CI Hosted Buildsは、高可用性に加えて、ビルトインのバックアップとリカバリーを提供し、ビジネスの継続性を確保します。

Hosted Buildsを使うと、最も近い競合他社のホストされたビルド製品の4倍の速度を実現できます。さらに、Harnessがテストキューを管理するため、パフォーマンスが最適化され、開発者の負担が軽減されます。 最後に、Hosted Buildsは、Test Intelligenceによって識別されたテストとの並列処理をサポートし、アーティファクトが単一のパイプラインキューに到達する前に最適化を提供します。

Harness CI を今すぐ試す

Harness CI Cache Intelligenceと強化されたTest Intelligence機能は、Hosted Buildsと共に、業界をリードするイノベーションであり、ここしばらく技術的な改善があまり見られなかった市場です。 これらの機能がビルドプロセスを加速し、リリースサイクルを簡素化し、開発者の負担を軽減するかご紹介できることを、嬉しく思っています。

Harness CIがいかに高速かを、ぜひお確かめください。今すぐ無料トライアルを始めましょう。  


この記事はHarness社のウェブサイトで公開されているものをDigital Stacksが日本語に訳したものです。無断複製を禁じます。原文はこちらです。


 

Harnessに関するお問い合わせはお気軽にお寄せください。

お問い合わせ