
176
10
章 インフラストラクチャのためのソフトウェア工学プラクティス
10.2
インフラストラクチャ管理のための
VCS
1章で説明したように、バージョン管理システム(VCS)は、Infrastructure as Codeの重要な構成
要素である。VCSは、変更の追跡、ロールバック、インフラストラクチャの異なる要素に対する変更
の関連付け、可視性を提供し、テストなどのアクションを自動的にトリガリングすることができる。こ
の節では、VCSの使い方に関するソフトウェア工学的プラクティスについて説明する。
10.2.1
VCS
で管理すべきもの
インフラストラクチャ要素を構築、再構築するために必要なものなら何でもバージョン管理システ
ムで管理しよう。バージョン管理システム以外のインフラストラクチャ要素がすべて消えたとしても、
VCSからあらゆるものをチェックアウトでき、コマンドをいくつか実行すれば、必要に応じてバック
アップデータファイルの内容も取り込んで、すべてを再構築できるようにしたい。
VCS で管理すべきものには次のものが含まれる。
●
構成定義(クックブック、マニフェスト、プレイブックなど)
●
設定ファイルとテンプレート
●
テストコード
●
CI、CDジョブ定義
●
ユーティリティスクリプト
●
コンパイルされるユーティリティやアプリケーションのソースコード
●
ドキュメント
VCS で管理する必要のないものには、次のものが含まれる
*
。
●
ソフトウェアアーティファクトは、リポジトリに格納する(たとえ ...