誰かが ansible ロールを開発した場合、github にレポを作成することで簡単に配布できます。これは、ansible-galaxy を介してインストールできます (非常に明確な手順)。
モジュールはどうですか?
ユーザーが簡単にインストールできるように、オープン ソースの ansible モジュール (たとえば、python ファイルの束) をリリースするための同様の「サポート フレームワーク」はありますか?
編集: 2020 年には、Ansible Collection を作成するのが最善の方法です。コレクションにより、ロール、モジュール、およびその他のプラグイン タイプを含む、あらゆる種類の Ansible コンテンツの適切なファーストクラスの名前空間、ドキュメント、および配布が可能になります。
元の2016年の回答:
現在、これを行う最善の方法は、実際にlibrary
は Galaxy ロールのディレクトリを経由することです。ロール (およびバンドルされたモジュール) をインストールして、要件ファイルを介して使用できるようにすることはできますが、ロールから実際に何かを実行する必要はありません。また、ロール自体をよりライブラリ風にする方法も検討しています (たとえば、tasks/main.yml にハードコードするだけでなく、変数/空のエントリ ポイントなど)。
ロールは、ライブラリ フォルダー内のモジュールを保持できます。Playbook でモジュールをアクティブ化するには、最初にこのロールを Playbook に追加するか、別のロールの依存関係として追加する必要があります。そうしないと、Ansible は含まれているモジュールを認識しません。モジュールを提供する役割は、定義されたタスクのようなものを持つ必要はありません。library
フォルダーを中に入れるだけで、もちろん必要なmeta/main.yml
Ansible 2.0 以降、これは (ほとんどの) プラグインでも機能します。たとえば、アクション プラグインやコールバック プラグインをフォルダーなどに配置できますaction_plugins
。callback_plugins
接続、変数、および戦略プラグインはこのようには機能しないと思いますが、それは明らかな理由によるものです。この種のプラグインは Playbook レベルで機能するため、ロールを介してロードすることはできません。