6.2. コレクションの作成
Ansible Galaxy CLI ツールを使用して、独自のコレクションをローカルで作成できます。collection サブコマンドを使用すると、Collection 固有のコマンドをアクティブ化できます。
前提条件
- 開発環境に Ansible バージョン 2.15 以降がインストールされている。
手順
- ターミナルで、名前空間のルートディレクトリーを配置する場所に移動します。分かりやすくするため、これは COLLECTIONS_PATH のパスにすることが推奨されますが、必須ではありません。
次のコマンドを実行します。
my_namespaceとmy_collection_nameは、独自の値に置き換えます。ansible-galaxy collection init <my_namespace>.<my_collection_name>
$ ansible-galaxy collection init <my_namespace>.<my_collection_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記名前空間にアップロードするための適切な権限があることを、galaxy.ansible.com または console.redhat.com/ansible/automation-hub の My Content タブで確認してください。
上記のコマンドは、名前空間引数から命名されたディレクトリー (まだ存在しない場合) を作成し、その下に Collection 名を持つディレクトリーを作成します。そのディレクトリー内では、デフォルトまたはスケルトン Collection になります。ここでは、ロールまたはプラグインを追加し、独自の Collection 開発に取り掛かることができます。
実行環境に関連して、Collection 開発者は Ansible Builder で適切なメタデータを指定することで、コンテンツの要件を宣言できます。
Collection からの要件は、以下の方法で認識できます。
-
ファイル
meta/execution-environment.yml。Python またはbindep要件ファイルを参照するファイルです。 -
requirements.txtという名前のファイル。Python の依存関係に関する情報を含んでおり、Collection のルートレベルに存在する場合があります。 -
bindep.txtという名前のファイル。システムレベルの依存関係を含んでおり、Collection のルートレベルに存在する場合があります。 -
これらのファイルのいずれかが Collection の
build_ignoreにある場合、Ansible Builder はそのファイルを検出しません。build_ignoreセクションは、ビルドアーティファクトに含めるべきではないファイルまたはディレクトリーをフィルタリングします。
コレクションのメンテナーは、introspect コマンドを使用して、期待される要件を ansible-builder が認識していることを確認できます。
ansible-builder introspect --sanitize ~/.ansible/collections/
$ ansible-builder introspect --sanitize ~/.ansible/collections/