ビルド オートメーション (英語: ビルド オートメーション、自動ビルド、ビルド システムとも呼ばれます) とは、コンピューター ソース コードをバイナリ コードにコンパイルすること、バイナリ コードをソフトウェア パッケージにパッケージ化すること、自動テストを実行することなど、ソフトウェア ビルドを自動的に作成する一連のプロセスを指します。 。

ビルドの自動化

ビルド オートメーション(英語:、ビルド オートメーション自動化ビルドビルド システムとも呼ばれます) とは、コンピューターのソースコードをバイナリ コードにコンパイルし、バイナリ コードをソフトウェア パッケージにパッケージ化し、自動テストを実行するなど、ソフトウェア ビルドを自動的に作成する一連のプロセスを指します。

概要

ビルディングの自動化は元々メイクファイルを作成することで実現されていましたが、現在では主に 2 つの主要なタイプのツールがビルディングを完了するために使用されています。

ビルド自動化ツール ( MakeRake Cake MS build AntGradleCMakeなど)

これらのツールの主な目的は、ソース コードのコンパイルやリンクなどのアクティビティを通じてコン​​ポーネント アーティファクトを生成することです。

オートメーションサーバーをセットアップする

これらの汎用Webベース ツールは、スケジュールまたはトリガーに基づいて自動ユーティリティを実行できます。継続的インテグレーションは、自動化されたサーバー構築の 1 つのタイプです。

自動化の程度に応じて、次の分類があります。

  • メイクファイル
    • Makeベースのツール
    • Makeに基づいていないツール
  • ビルド スクリプト (または Makefile) 生成ツール
  • 継続的統合ツール
  • 構成管理ツール
  • メタビルドツールまたはパッケージ管理システム
  • 他の

ビルド自動化ツール

自動化ツールを構築すると、タスクを正しい特定の順序で実行し、各タスクを実行することで目標に到達する方法を計算し、単純で反復的なタスクを自動化できます。これは、タスク指向ツールと製品指向ツールに分類できます。タスク指向ツールは、特定のタスクのセットに対するネットワークの依存性を記述するために使用され、製品指向ツールは、生成される製品に基づいて物事を記述します。

オートメーションサーバーをセットアップする

ビルド サーバーは継続的統合サーバーが登場するずっと前から存在していましたが、英語ではビルド サーバーは継続的統合サーバーと同義であることがよくあります。ビルド サーバーは、ソフトウェア ライフサイクル管理 ( ALM ) ツールやアプリケーション リリース自動化 ( ARA ) ツールに統合することもできます。

サーバーの種類

  • オンデマンド自動化:コマンドラインインターフェイスでスクリプトを実行するユーザーなど
  • スケジュールされた自動化:毎日のビルドを実行する継続的統合サーバーなど。
  • トリガーによる自動化:バージョン管理システムに送信されたすべてのビルドを実行する継続的統合サーバーなど。

分散ビルド自動化

自動化は多くのコンパイラによって実現され、ツールが各ステップで異なるコンパイラを実行するか、分散コンパイルが使用される場合があります。分散構築プロセスでは、正しい順序で分散構築を実行するために、プログラム コードの依存関係を理解するマシン インテリジェンスが必要です。

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

ビルディングオートメーションは、継続的デリバリー( CD ) とDevOpsへの第一歩です継続的インテグレーション( CI )、ソフトウェア デプロイ、アプリケーション リリースの自動化、その他のプロセスと組み合わせることで、ビルドの自動化を組織がソフトウェア配信のベスト プラクティスを段階的に確立できるようになります。

利点

ソフトウェア開発プロジェクトでは、インポートとビルドの自動化の利点は次のとおりです。

  • 継続的統合と継続的テストの要件
  • 製品の品質を向上させる
  • コンパイルとリンクのプロセスを高速化します
  • 反復的なタスクを排除する
  • 「不適切な構成」を減らす
  • 主要担当者の依存関係を排除する
  • 問題の調査を容易にするためにビルド履歴とリリース履歴を確立する
  • 上記の理由により、時間とお金を節約できます

関連商品

  • アプリケーションリリース自動化 (ARA)
  • 継続的構成自動化 (CCA)
  • 継続的インテグレーション(CI)
  • 継続的デリバリー(CD)
  • 継続的なテスト
  • DevOps
  • 製品ファミリーエンジニアリング
  • リリースプロジェクト
  • ソフトウェア構成管理 (SCM)
  • 単体テスト

参照データ

    1.  チェルッツィ、ポール E. MITプレス。2003 年。ISBN 978-0262532037。
    2.  クラーク、マイク。実践的なプログラマー。2004 年。ISBN 978-0974514031。
    3.  Enos, Joe. . InfoQ (C4Media Inc.). 2013  [ 2015 年9 月 16 日 ] . ( 2021 年 10 月 22 日のオリジナルからアーカイブ)
    4.  バシャン、シュムエル; ベラージオ、デヴィッド E. IBMプレス。2011 年。ISBN 978-0137001798。
    5.   (PDF) [ 2008-09-19 ] . (オリジナルのコンテンツ (PDF)は2008-11-23にアーカイブされました)

この記事は Wikipediaから引用しています。このテキストは、 クリエイティブ コモンズ - 表示 - 継承に基づいてライセンスされています。メディア ファイルには追加の規約が適用される場合があります。

 

 

 

おすすめ

転載: blog.csdn.net/weixin_40191861/article/details/132857346
おすすめ