継続的デリバリーの高速化

継続的デリバリー

watch

既存のハードウェアで500を超えるコアを使ってみませんか?

新しいソフトウェアをリリースするプロセスは複雑で、多くの場合時間のかかるものです。フィードバック サイクルの確率や、ソフトウェアのビルドの成否の判断を素早く行えるということは、素早く製品の問題を修正できることを意味します。プロジェクトのライフサイクル後半まで問題が発見されない場合、その修正コストと難易度は指数関数的に増加します。

IncrediBuild は、開発プロセスの過程で生じる様々な時間のかかる作業やCPUを過度に使用する処理を高速化するための包括的なプラットフォームです。プライベート ネットワークやパブリック クラウドですでに持っている幾つものCPU をビルド サーバに拡張し、シームレスに利用する能力を提供して高速化を実現します。

people

ご利用企業

ユーザーの多くは、継続的インテグレーション環境でIncrediBuild を使用することで、プロセス全体を高速化し、数分から数時間も実行時間を削減して、アジャイル開発を可能にしました。

IncrediBuild における継続的インテグレーションのプロセスには、高速化を実現するために幾つかのツールが用いられます。IncrediBuild は様々な継続的インテグレーションやビルド自動化ツールをサポートしています。

traditional
countinous

IncrediBuild はパフォーマンスをブーストしたり、アジャイル デリバリー プロセスを実現するのに加え、継続デリバリープロセスに視認性、柔軟性を与える一連のツールが搭載されています。

  • グラフィカル実行モニタ
  • 豊富なコマンドライン インターフェイス
  • 人気の商用ツール用に事前設定を統合
  • フル機能の管理ツール

継続的インテグレーション (CI) とIncrediBuild を繋げましょう

comp

新しいソフトウェアをリリースするプロセスは複雑で、多くの場合時間のかかるものです。フィードバック サイクルの確率や、ソフトウェアのビルドの成否の判断を素早く行えるということは、素早く製品の問題を修正できることを意味します。プロジェクトのライフサイクル後半まで問題が発見されない場合、その修正コストと難易度は指数関数的に増加します。

IncrediBuild は、開発プロセスの過程で生じる様々な時間のかかる作業やCPUを過度に使用する処理を高速化するための包括的なプラットフォームです。プライベート ネットワークやパブリック クラウドですでに持っている幾つものCPU をビルド サーバに拡張し、シームレスに利用する能力を提供して高速化を実現します。

Microsoft Team Foundation Server (TFS)

build

Microsoft Team Foundation Server (TFS)

Microsoft Team Foundation Server (TFS) はソフトウェア構築プロセスの合理化や自動化に役立ちますが、大規模なプロジェクトでは必要なフィードバックを得るのに時間がかかりすぎることがあります。
TFS のビルドプロセス自動化機能とIncrediBuild 独自のプロセス仮想化機能を組み合わせることで、TFS ビルドマシンでネットワーク上のマシンの全コアを利用して、ビルドプロセスをスピードアップすることができます。

ビルド エージェントの処分に数百ものコアを使用することで、TFS のワークフローをはるかに高速に実行できます。コンパイル時間、ユニットテスト、コード解析、リグレッションテストなど時間のかかるプロセスを飛躍的にに高速化します。

どのように動作しますか?

IncrediBuild を利用していない場合、全てのTFS ワークフローは基本的にローカルで稼働するTFS エージェントで実行するように割り当てられるので、処理時間は特定のTFS エージェントの処理能力で決定します。ビルドのワークフローにIncrediBuild を統合することで、ローカルネットワーク内で透過的に追加のコアを利用することができ、TFS エージェントの処理能力を飛躍的に高めることができます。これはとても簡単なインストールとシンプルな設定で利用可能です。TFS プロセス テンプレートのカスタマイズは「アクティビティ ライブラリ」から行うことができます。
IncrediBuild は2つのTFS アクティビティを持っています。1つはコンパイル処理の高速化、もう1つはユニットテストなど他の処理の高速化です。これにはビルド プロセス テンプレートのカスタマイズと、IncrediBuild アクティビティの追加が必要なだけです。プロセス テンプレートの変更登録が完了したらすぐに処理が実行できます。

tfs-how-to

Jenkins

IncrediBuildとJenkins の統合

自動テストの実行による継続的インテグレーションは近年広く採用されています。継続的インテグレーションの背後にあるアイデアは企業がビルドマネジメント、デプロイの自動化、テスト オーケストレーションをどのように捉えているかによって異なります。Jenkins は継続的インテグレーション ソリューションであり、その目的はマネジメント、ビジネスマネージャー、ソフトウェアエンジニアや設計者に開発ライフサイクル全体を通じてプロジェクトの開発の進捗状況とコード品質の優れた感覚を提供することです。
Jenkins はクーロンによって実行されるソフトウェアプロジェクトやジョブのビルドなどの繰り返されるジョブの実行を監視する実績あるアプリケーションです。このようなジョブの中で現在Jenkins は以下の2つのジョブにフォーカスしています:

  • ソフトウェア・プロジェクトの継続的なビルド/テスト – 使いやすい継続的インテグレーション システムを提供し、開発者が簡単にプロジェクトの変更を統合できるように、またユーザーが簡単に優れたビルドを獲得できるようにすること。自動化された継続的ビルドは開発サイクル全体の生産性とスピードをアップします。
  • 外部からの実行を監視 – クーロンジョブやプロックメールジョブなどの実行

Jenkins とIncrediBuild を統合することで、ビルドをローカルマシン上の何百ものコア上に拡張することができます。しかもJenkins をIncrediBuild に接続するにはプラグインすら必要ありません。

Jenkins とIncrediBuild との統合はシンプルです。

例えば、Visual Studio のビルドでは次のコマンドを入力します:

buildconsole “C:\Users\Sample\Documents\visual studio 2012\Projects\SampleApplication\SampleApplication.sln” /cfg=”Debug|Win32″ /rebuild /title=”Sample”

make、Buildツールを高速化するには次のコマンドを入力します:

buildconsole /command=”nmake” /openmonitor /title=”Nmake Sample”

開発ツールの高速化は以下のようになります:

サブミッション インターフェイス:

XgConsole /command=”BatchFile.bat” /openmonitor /title=”Submission Interface Sample”

—–sample contents of BatchFile.bat—–
XgSubmit /group=Group1 /caption=Task1-Group1 /command MyProcess.exe 3000
XgSubmit /group=Group1 /caption=Task2-Group1 /command MyProcess.exe 2500
XgSubmit /group=Group1 /caption=Task3-Group1 /command MyProcess.exe 2500
xgWait /group=Group1
XgSubmit /group=Group2 /caption=Task4-Group2 /command MyProcess.exe 3000
XgSubmit /group=Group2 /caption=Task5-Group2 /command MyProcess.exe 2800
XgSubmit /group=Group2 /caption=Task6-Group2 /command MyProcess.exe 2000
xgWait /group=Group2

インターセプション インターフェイス:

XgConsole /command=”” /profile=”profile.xml” /openmonitor /title=”Automatic Interception Sample”

Jenkins とIncrediBuild を統合するとで以下が可能になります:

  • Jenkins 内のビルドサイクルを20倍も削減
  • 数秒から数分まで、開発者個人のビルドサイクルを高速化
  • Make、Visual Studio、その他のビルドプロセスに加え、テストや別の計算集約型タスクも高速化
  • 難しい設定など一切なしで簡単に統合 – たった一行のコードでJenkins と統合
  • 継続的インテグレーションとより高い俊敏性を実現
  • 1日に20回以上ものビルドが実行可能になります。それは以下のことを意味しています:
    • 効率的なビルドを実現
    • より早い開発サイクル
    • 開発の生産性とクオリティの向上
    • 市場投入を高速化し競争力をアップ

BannerWatch