私はAnsibleを使って作業の1つとしてさまざまなプレイブックを含むプレイブックを作成しようとしています。
明確に言えば、このプレイブックはLinuxサーバーを展開するためのものであり、ステップの1つはgitリポジトリを複製することです。
インポート時に(import_tasks
、およびinclude_tasks
をimport_playbook
使用してみましたinclude_playbook
)Ansibleは次のエラーを返します。
ERROR! conflicting action statements: hosts, gather_facts
もちろん、gitプレイブックを編集してステートメントをリモートで実行すると、インポートはhosts
問題なく動作します。
ただし、git cloneは(対応するリポジトリを同期状態に保つために)独立して実行する必要があるため、対応するディレクティブもhosts
含める必要があります。
私は、本質的にプレイブックをインポートしたホストではなく、プレイブックをインポートしたホストを使用してプレイブックタスクをインポートする方法を探しています。
単にgitプレイブックからホストディレクティブを削除して他のプレイブックを介して呼び出すことができますが、より簡単な方法があるかどうか疑問に思うか、正しい構文が見つからない可能性があります。
ホストなしでプレイブックの仕事をインポートする簡単な方法はありますか?
ありがとうございます!
答え1
hosts:
そしてgather_facts:
ポールの上にのみ存在することができる。
あなたはする必要があります
- ターゲットサーバーに接続する役割でプレイブックを作成します。
- 競合するドアを削除し、
delegate_to:
プレイブックの操作を含めるときに使用してください。