中級編¶
このページでは、Ansible ワークフローをディレクトリー構造とソース制御で管理するのに役立つ概念をいくつか紹介します。本書の初めで紹介している基本的な概念と同様、このような中間概念は Ansible のすべての用途に共通です。
一般的な Ansible ファイルツリー¶
Ansible では、特定の場所にある特定のファイルを見つけることを想定しています。インベントリーを拡張し、ネットワーク Playbook を作成して実行する場合には、ファイルを以下のように作業用の Ansible プロジェクトディレクトリーに整理した状態にします。
.
├── backup
│ ├── vyos.example.net\_config.2018-02-08@11:10:15
│ ├── vyos.example.net\_config.2018-02-12@08:22:41
├── first\_playbook.yml
├── inventory
├── group\_vars
│ ├── vyos.yml
│ └── eos.yml
├── roles
│ ├── static\_route
│ └── system
├── second\_playbook.yml
└── third\_playbook.yml
backup
ディレクトリーと、そのディレクトリーに含まれるファイルは、backup: yes
パラメーターを指定して vyos_config
などのモジュールを実行すると作成されます。
インベントリーおよび Playbook への変更の追跡: git でのソース制御¶
インベントリー、ロール、および Playbook を拡張する際に、Ansible プロジェクトをソースコントロールの下に置く必要があります。ソース管理には git
が推奨されます。git
は監査証跡を提供し、変更の追跡、誤りのロールバック、履歴の表示と、Ansible エコシステムの管理、維持および拡張のワークロードを共有できるようにします。git
を利用するためのチュートリアルおよびガイドは多数あります。