0

私は4つのプレイブックを持っています。そのうちの 2 つはターゲット マシンにサービスを展開しており、そのうちの 2 つはサービスを再度削除しています。今、私は彼らに役割を与えたいと思っています。しかし、ベストプラクティスが何であるかはわかりません。
2 つのデプロイ プレイブックは、変数とテンプレートが異なるだけで、まったく同じことを行っています。プレイブックの削除にも同じことが当てはまります。

Atm 私の構造は次のようになります。

ansible.cfg
ssh_key
inventoryfile
group_vars
    ....
roles
    deployservicegroupA
       vars
           ...
       templates
           ...
       tasks
           main.yml (this file simply includes the two tasks right below)
           copy-service-templates.yml
           start-services.yml
    deployservicegroupB
       vars
           ...
       templates
           ...
       tasks
           main.yml (this file simply includes the two tasks right below)
           copy-service-templates.yml
           start-services.yml
    removeservicegroupA
       vars
           ...
       templates
           ...
       tasks
           main.yml (this file simply includes the two tasks right below)
           remove-services.yml
           cleanup.yml
    removeservicegroupB
       vars
           ...
       templates
           ...
       tasks
           main.yml (this file simply includes the two tasks right below)
           remove-services.yml
           cleanup.yml

これは、ユーザーが行うことを意図した方法ですか?
私は特に、まったく同じことを行うタスクについて疑問に思っていますが、異なる役割で見つけることができます。また、自分のタスクを main.yml タスク ファイルに含める必要がある場合。

4

1 に答える 1

2

コメントによると、サービスごとにグループを使用している場合、group_vars を使用して、使用する変数を指定できます。

次にロールをマージできます。必要なのは、プレイを実行しているグループに基づいて特定のテンプレートをロードすることだけです。

于 2016-04-14T14:47:00.637 に答える