6.3. ロールの作成

Ansible Galaxy CLI ツールを使用してロールを作成できます。ロール固有のコマンドは、roles サブコマンドからアクセスできます。

ansible-galaxy role init <role_name>

コレクション外部のスタンドアロンロールは引き続きサポートされますが、Ansible Automation Platform が提供するすべての機能を活用するには、新しいロールをコレクション内にを作成する必要があります。

手順

  1. ターミナルで、コレクション内の roles ディレクトリーに移動します。
  2. 以前に作成したコレクション内に role_name という名前のロールを作成します。

    $ ansible-galaxy role init my_role

    コレクションには、roles ディレクトリー内に my_role という名前のロールが含まれるようになりました。

        ~/.ansible/collections/ansible_collections/<my_namespace>/<my_collection_name>
        ...
        └── roles/
            └── my_role/
                ├── .travis.yml
                ├── README.md
                ├── defaults/
                │   └── main.yml
                ├── files/
                ├── handlers/
                │   └── main.yml
                ├── meta/
                │   └── main.yml
                ├── tasks/
                │   └── main.yml
                ├── templates/
                ├── tests/
                │   ├── inventory
                │   └── test.yml
                └── vars/
                    └── main.yml
  3. カスタムロールのスケルトンディレクトリーは、--role-skeleton 引数を使用して指定できます。これにより、組織はニーズに合わせて新しいロールの標準化されたテンプレートを作成できます。

    ansible-galaxy role init my_role --role-skeleton ~/role_skeleton

これにより ~/role_skeleton の内容を my_role にコピーして、my_role という名前のロールが作成されます。role_skeleton の内容は、ロールディレクトリー内で有効なすべてのファイルまたはフォルダーになります。

関連情報

  • ロールの作成に関する詳細は、Ansible Galaxy ドキュメントの ロールの作成 を参照してください。