4

誰かが ansible ロールを開発した場合、github にレポを作成することで簡単に配布できます。これは、ansible-galaxy を介してインストールできます (非常に明確な手順)。

モジュールはどうですか?

ユーザーが簡単にインストールできるように、オープン ソースの ansible モジュール (たとえば、python ファイルの束) をリリースするための同様の「サポート フレームワーク」はありますか?

4

2 に答える 2

6

編集: 2020 年には、Ansible Collection を作成するのが最善の方法です。コレクションにより、ロール、モジュール、およびその他のプラグイン タイプを含む、あらゆる種類の Ansible コンテンツの適切なファーストクラスの名前空間、ドキュメント、および配布が可能になります。

元の2016年の回答

現在、これを行う最善の方法は、実際にlibraryは Galaxy ロールのディレクトリを経由することです。ロール (およびバンドルされたモジュール) をインストールして、要件ファイルを介して使用できるようにすることはできますが、ロールから実際に何かを実行する必要はありません。また、ロール自体をよりライブラリ風にする方法も検討しています (たとえば、tasks/main.yml にハードコードするだけでなく、変数/空のエントリ ポイントなど)。

于 2016-06-20T21:20:47.223 に答える
1

ロールは、ライブラリ フォルダー内のモジュールを保持できます。Playbook でモジュールをアクティブ化するには、最初にこのロールを Playbook に追加するか、別のロールの依存関係として追加する必要があります。そうしないと、Ansible は含まれているモジュールを認識しません。モジュールを提供する役割は、定義されたタスクのようなものを持つ必要はありません。libraryフォルダーを中に入れるだけで、もちろん必要なmeta/main.yml

Ansible 2.0 以降、これは (ほとんどの) プラグインでも機能します。たとえば、アクション プラグインやコールバック プラグインをフォルダーなどに配置できますaction_pluginscallback_plugins接続、変数、および戦略プラグインはこのようには機能しないと思いますが、それは明らかな理由によるものです。この種のプラグインは Playbook レベルで機能するため、ロールを介してロードすることはできません。

于 2016-06-21T08:18:43.757 に答える