0

私は、インフラストラクチャの ansible プレイブックに取り組んでいます。推奨されるパターンをまだ見つけていない次のようなニーズが繰り返しあります。

複数の仮想ホスト (/databases/rbenv environment/etc) を実行する必要があるサーバーがあります。銀河の役割に依存してnginx(postgres/rbenv/etc)をインストールできます。

dependencies:
- role: "geerlingguy.nginx"
  nginx_ppa_use: true
  nginx_ppa_version: development
  ..

これで、仮想ホスト構成の配列をこの依存関係に追加できます。ただし、これらの定義をテクノロジ (nginx/rbenv...) ごとではなく、プロジェクトごとにまとめたいと思います。

これまでに見つけた最善の方法は、各プロジェクト ロールで nginx の依存関係を繰り返すことです。ただし、その結果、すべてのグローバル nginx オプションが重複し、新しいサーバーをプロビジョニングするときに nginx インストールが繰り返し実行されます。

4

1 に答える 1

2

それは私には問題ないようです。

これまでに見つけた最善の方法は、各プロジェクト ロールで nginx の依存関係を繰り返すことです。ただし、その結果、すべてのグローバル nginx オプションが重複し、新しいサーバーをプロビジョニングするときに nginx インストールが繰り返し実行されます。

Ansible は、システム状態が目的の状態でない場合にのみ実行するように構築されているため (つまり、nginx がまだインストールされていない場合にのみ nginx をインストールする)、そうすべきではありません。

ただし、繰り返されるチェックに必要以上に時間がかかる場合は、役割を 2 つに分割できます。1 つは基本的な一般的なセットアップを行い、もう 1 つは仮想ホストごとに繰り返されます。

于 2016-04-18T18:31:55.530 に答える