説明している概念は構成管理です。これは、環境を特定、記録、バージョン/追跡、および報告する方法です。多くの場合、バージョン管理とビルド管理に強く関連するタスクですが、同じ概念と同じ処理およびストレージメカニズムを使用している場合でも、多くの場合、別個の戦略を必要とするほど明確です。
構成管理は、作業環境の制御を維持するのに役立つほか、ソフトウェアが使用されるさまざまな作業環境の記録を確立するのにも役立ちます(前述の開発に加えて、テスト/ QA、通常のお客様への展開、特別な考慮または特別な構成が必要なお客様への展開)またはプロパティの作成など)。
前述したように、これは多くの場合、ソースバージョン管理と一致するタスクであり、多くの場合、構成管理データはドキュメントとソースリポジトリの両方でソースの隣にあります。必ずしもそうである必要はありませんが、しばしば利便性の問題です。
構成管理のいくつかの側面の自動化は、近年大幅に改善されました。構成管理を促進する方法としてスクリプトが提案されたいくつかの回答とコメントがあり、スクリプトは再現可能な結果を達成するのに役立つ良い回答ですが、多くの場合、手作りのスクリプト自体は一貫性がなく不完全です。これが改善された1つの方法は、自動プロビジョニングを使用することです。パペットやシェフなどのシステム特定のユーザーまたはマシンまたは特定のタスクプロファイルのソフトウェアコンポーネントとシステムを指定し、完全なマシンまたは環境をセットアップするためのハンドオフアプローチを可能にする「レシピ」を提供します。基本的にはソフトウェア配布リポジトリの概念を取り入れ、システムに必要なソフトウェアのパッケージだけでなく、各パッケージに固有の構成プロファイルも提供するように拡張および一般化して、お客様に適した方法で使用できるようにします。状況。
Vagrantはこれをわずかに異なる方向に取り、仮想マシンの定義をすばやくスピンアップする方法を提供します。これにより、VMは仮想ソフトウェアとハードウェアを自動的にプロビジョニングでき、ハードウェアの特定の表現を再現する便利な方法であることが証明できますソフトウェアのユーザーが使用する環境。
各システム(およびバリエーション)のセットアップには少し時間がかかりますが、リロードと再構成のタスクが一般的なタスクであることがわかった場合、明確な価値があります。