アプリサーバーをインストールするためのいくつかの役割を持つ単一の Playbook があり、同じ Playbook を実稼働サーバーとテスト サーバーの両方に適用したいとします。
実稼働サーバーとテスト サーバーの両方に、実稼働サーバーにのみ適用する必要がある 1 つの例外を除いて、同じロール リストがあります。
このロールが同じ Playbook を使用する本番サーバーにのみ適用されるように指定することはできますか?
たとえば、プレイブックが次の場合:
---
- hosts: appserver
roles:
- { role: mail, tags: ["mail"] }
- { role: firewall, tags: ["firewall"] }
- { role: webserver, tags: ["webserver"] }
- { role: cache, tags: ["cache"] }
2 つのインベントリがあります。1 つは本番用、もう 1 つはテスト用です。
テスト インベントリを使用して Playbook を実行するときに、「ファイアウォール」ロールを実行したくありません。
私の考えは、「プロダクション」インベントリに変数を設定するようなことを行い、「<var> が設定されている場合は、ロール「ファイアウォール」を実行する」などを使用することです...これが可能かどうか、そしてそれが可能かどうかはわかりませんは、どうすれば?