ソフトウェアビルドとは、ソースコードファイルをコンピュータ上で実行できるスタンドアロンのソフトウェア成果物に変換するプロセス、またはその結果です。[1]
ソフトウェア制作において、ビルドはパフォーマンスと配布のためにソフトウェアを最適化し、「. exe」、「.deb」、「.apk」などの形式でパッケージ化します。[2] [3]
ビルドプロセスでは、 CMake、Make、Gradleなどの専用ツールが使用されることが多く、JenkinsやGit Actionsなどの自動化システムと統合されています。進歩にもかかわらず、依存関係の競合、プラットフォームの互換性、コンパイル時間の長さなどの課題が残っています。[4] [5] [6]
ソフトウェア開発
ソフトウェア開発において、ソフトウェアの構築は多くの異なる機能を伴うエンドツーエンドのプロセスです。これらの機能のいくつかを以下に説明します。
バージョン管理
バージョン管理機能は、ワークスペースの作成と更新、ベースライン設定、レポート作成などのアクティビティを実行します。ビルド プロセスを実行する環境を作成し、ビルド プロセスの入力と出力に関するメタデータを取得して、再現性と信頼性を確保します。
Git、AccuRev、StarTeamなどのツールは、履歴内の特定のポイントを重要なものとしてタグ付けするツールなどを提供することで、これらのタスクを支援します。
コードの品質
静的プログラム分析/静的コード分析としても知られるこの機能は、開発者がコメント、ユニットテスト、重複、複雑さ、コーディングルール、潜在的なバグ、アーキテクチャと設計というコード品質の7つの軸を遵守しているかどうかを確認する役割を担っています。[7]
プロジェクトのコード品質を高めることでバグが減り、保守性、拡張性、可読性などの非機能要件にも影響が及び、ビジネスのROIに直接影響を及ぼします。 [8]
コンパイル
これは、ビルド プロセスを管理するための小さな機能にすぎません。コンパイル機能は、ソース ファイルを直接実行可能なオブジェクトまたは中間オブジェクトに変換します。すべてのプロジェクトでこの機能が必要になるわけではありません。
単純なプログラムの場合、プロセスは 1 つのファイルのコンパイルで構成されますが、複雑なソフトウェアの場合、ソース コードは多数のファイルで構成され、さまざまな方法で結合されてさまざまなバージョンが生成されることがあります。
リンク
ビルドツール
コンピュータ プログラムを構築するプロセスは、通常、ビルド ツールによって管理されます。ビルド ツールは、他のプログラムを調整および制御するプログラムです。このようなプログラムの例としては、 make、Gradle、Ant、Maven、Rake、SCons 、 Phing などがあります。ビルド ユーティリティは通常、さまざまなファイルを正しい順序でコンパイルする必要があります。特定のファイルのソース コードが変更されていない場合は、再コンパイルする必要がない場合があります(変更された他のファイルに依存している可能性があるため、「必要がない」ではなく「必要がない」場合があります)。高度なビルド ユーティリティとリンカーは、ビルドの完了に必要な時間を短縮するために、必要のないコードの再コンパイルを控えます。より複雑なプロセスでは、ビルド プロセスとソフトウェアの一部として、他のプログラムがコードまたはデータを生成する場合があります。

参照
参考文献
- ^ 「ビルドとは何か?」Techopedia . 2020年4月4日閲覧。
- ^ Byfield, Bruce. 「ユニバーサルパッケージフォーマットとその違い」Linux Magazine. Linux Magazine . 2024年12月6日閲覧。
- ^ 「ソフトウェア パッケージとは何ですか?」GeeksforGeeks . 2024 年 2 月 26 日. 2024 年 12 月 6 日閲覧。
- ^ 「ソフトウェア開発プロセスの包括的なガイド - Net Group」。netgroup.com。2022年2月14日。 2024年12月6日閲覧。
- ^ 「ソフトウェア ビルド プロセス (完全ガイド)」。devopsbuzz.com。2015 年 10 月 10 日。2024 年 12 月 6 日に閲覧。
- ^ 「ソフトウェア構築プロセスとは? 2024年の完全ガイド - Hapy Co」。2024年2月19日。 2024年12月6日閲覧。
- ^ 「SonarQube™ ソフトウェア」 。2014年1 月 4 日閲覧。
- ^ ムシュコ、ベンジャミン。Gradle in Action。Manning Pubns Co. ISBN 9781617291302。
- ^ IBM OS リンケージ エディターおよびローダー(PDF)。IBM Corporation。1972 年。2020 年 3 月 6 日のオリジナルからアーカイブ(PDF) 。2020 年 3 月 7 日に取得。
- ^ Barron, David William (1978) [1971, 1969]. 「5.7. リンケージ エディターとコンソリデータ」。英国サウサンプトン大学で執筆。Floretin, J. John (編)。アセンブラーとローダー。コンピュータ モノグラフ (第 3 版)。米国ニューヨーク: Elsevier North-Holland Inc. pp. 65–66。ISBN 0-444-19462-2LCCN 78-19961 。(12+100ページ)

