6.2. コレクションの作成
Ansible Galaxy CLI ツールを使用して、独自のコレクションをローカルで作成できます。コレクション固有のコマンドはすべて、collection サブコマンドを使用してアクティベートできます。
前提条件
- 開発環境に Ansible バージョン 2.9 以降がインストールされている。
手順
- 端末で、名前空間の root ディレクトリーの場所に移動します。分かりやすくするため、これは 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 または cloud.redhat.com/ansible/automation-hub の My Content タブの下で、名前空間にアップロードする適切なパーミッションがあることを確認してください。
上記のコマンドは、上記の名前空間引数から名前が付けられたディレクトリーが存在しない場合は作成し、そのディレクトリーに Collection 名を指定してディレクトリーを作成します。そのディレクトリー内では、デフォルトまたはスケルトン Collection になります。ここでは、ロールまたはプラグインを追加し、独自の Collection 開発に取り掛かることができます。
実行環境に関連して、Collection 開発者は Ansible Builder で適切なメタデータを指定することで、コンテンツの要件を宣言できます。
Collection からの要件は、以下の方法で認識できます。
-
meta/execution-environment.ymlファイルが Python またはbindep要件ファイル、もしくはその両方を参照します。 -
Python の依存関係に関する情報を含む
requirements.txtという名前のファイルは、Collection のルートディレクトリーにある場合があります。 -
システムレベルの依存関係を含む
bindep.txtという名前のファイルは、Collection のルートレベルに存在する場合があります。 -
これらのファイルのいずれかが Collection の
build_ignoreにある場合、このセクションはビルドアーティファクトに含めるべきではないファイルまたはディレクトリーにフィルターを設定するために使用されるため、Ansible Builder はこれらを取得しません。
コレクションメンテナーは、introspect コマンドを使用して、ansible-builder が想定する要件を認識していることを確認できます。
ansible-builder introspect --sanitize ~/.ansible/collections/
$ ansible-builder introspect --sanitize ~/.ansible/collections/