ビルド自動化

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

ビルドの自動化は、ソフトウェアビルドの作成と、コンピューターのソースコードのバイナリコードへのコンパイル、バイナリコードのパッケージ化、自動テストの実行などの関連プロセスを自動化するプロセスです。

概要

歴史的に、ビルドの自動化はmakefilesを介して達成されていました。現在、ツールには2つの一般的なカテゴリがあります。[1]

ビルド自動化ユーティリティ
これには、 MakeRakeCMakeMSBuildAntMavenGradle(Java)などのユーティリティが含まれます。これらの主な目的は、ソースコードのコンパイルやリンクなどのアクティビティを通じてビルドアーティファクトを生成することです。
ビルド自動化サーバー
これらは、スケジュールまたはトリガーベースでビルド自動化ユーティリティを実行する一般的なWebベースのツールです。継続的インテグレーションサーバーは、ビルド自動化サーバーの一種です

自動化のレベルに応じて、次の分類が可能です。

それぞれのソフトウェアリストは、ビルド自動化ソフトウェアのリストにあります

ビルド自動化ユーティリティ

ビルド自動化ユーティリティを使用すると、シンプルで繰り返し可能なタスクを自動化できます。ツールを使用すると、タスクを正しい特定の順序で実行し、各タスクを実行することによって、目標を達成する方法を計算します。ビルドツールが異なる2つの方法は、タスク指向と製品指向です。タスク指向のツールは、特定のセットタスクの観点からネットワークの依存関係を記述し、製品指向のツールは、それらが生成する製品の観点から物事を記述します。[2]

ビルド自動化サーバー

ビルドサーバーは継続的インテグレーションサーバーよりずっと前から存在していましたが、一般に継続的インテグレーションサーバーと同義ですが、ビルドサーバーをARAツールまたはALMツールに組み込むこともできます。

サーバーの種類

分散ビルド自動化

自動化は、分散コンパイルまたはユーティリティステップの実行のいずれかにコンパイルファームを使用することで実現されます。[3]分散ビルドプロセスには、分散ビルドを実行するためのソースコードの依存関係を理解するためのマシンインテリジェンスが必要です。

継続的デリバリーと継続的インテグレーションとの関係

ビルドの自動化は、継続的デリバリーDevOpsの文化の実装に向けた最初のステップと見なされています。継続的インテグレーション展開アプリケーションリリースの自動化、およびその他の多くのプロセスと組み合わせたビルド自動化は、ソフトウェア配信のベストプラクティスを確立する上で組織を前進させるのに役立ちます。[4] [どうやって?]

利点

ソフトウェア開発プロジェクトに対するビルド自動化の利点は次のとおりです。

  • 継続的インテグレーションと継続的テストに必要な前提条件
  • 製品の品質を向上させる
  • コンパイルとリンク処理を高速化します
  • 冗長なタスクを排除する
  • 「悪いビルド」を最小限に抑える
  • キーパーソンへの依存を排除​​する
  • 問題を調査するためにビルドとリリースの履歴を持っている
  • 上記の理由により、時間とお金を節約できます。[5]

も参照してください

参考文献

  1. ^ Ceruzzi、Paul E.(2003)。現代のコンピューティングの歴史MITプレス。ISBN 978-0262532037
  2. ^ クラーク、マイク(2004)。実用的なプロジェクトの自動化:Javaアプリを構築、デプロイ、監視する方法実用的なプログラマー。ISBN 978-0974514031
  3. ^ Enos、Joe(2013)。「自動ビルド:一貫性の鍵」InfoQC4MediaInc 2015年9月16日取得
  4. ^ バシャン、シュムエル; ベラージオ、デビッドE.(2011)。IBM Rational ClearQuestおよびJazzを使用した作業項目管理:カスタマイズ・ガイドIBMプレス。ISBN 978-0137001798
  5. ^ 「アーカイブされたコピー」(PDF)2008年11月23日にオリジナル(PDF)からアーカイブされました。2008年9月19日取得 {{cite web}}: CS1 maint: archived copy as title (link)