ansible-galaxy を使うことで role の雛形が作られます。Rails で言うと Scaffold みたいなものです。
$ ansible-galaxy --offline init sample
- sample was created successfully
インベントリファイルを作ります。ファイル名は inventory にしました。
[target]
localhost
sample role を呼び出すための playbook を書きます。playbook.yml としました。
---
- hosts: all
roles:
- sample
sample にはまだタスクがありませんが、実行できるようになりました。
$ ansible-playbook -i inventory playbook.yml
PLAY [all] ***************************************************************************************************************************************
TASK [Gathering Facts] ***************************************************************************************************************************
ok: [localhost]
PLAY RECAP ***************************************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0
実際にタスクを書いてみます。sample/tasks/main.yml を編集します。
---
# tasks file for sample
- name: hello ansible!
debug:
msg: "Hello Ansible!"
実行してみます。
$ ansible-playbook -i inventory playbook.yml
PLAY [all] ***************************************************************************************************************************************
TASK [Gathering Facts] ***************************************************************************************************************************
ok: [localhost]
TASK [sample : hello ansible!] *******************************************************************************************************************
ok: [localhost] => {
"msg": "Hello Ansible!"
}
PLAY RECAP ***************************************************************************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0
ここでは localhost を対象に debug メッセージを出してみただけでしたが、対象を動的に変えてみたり、モジュールを使って実際にサーバの設定をしてみたりなど、ここからいろんなことができるようになります。
最初の一歩になればと思います。