Ansible Galaxyに登録するまでもない
もしくは登録できないようなものでも
Ansible Galaxyでロールを管理したかったので、
その手順を調べました。
今回はとりあえず、ロールを開発するためのPlaybookの準備です。
ロール開発時のPlaybook
最初、Playbookがない状態でどうやって、
ロールを開発していけばよいかとまどいました。
分かってみれば、簡単でダミーのPlaybookを作れば良かったです。
testsディレクトリを使って開発する
ひとつのロールを開発する場合は、testsディレクトリを使ったほうが
すぐに始められるので普段はそうしています。
Ansible Galaxyのinitコマンドを使うと、 testsディレクトリが作成されます。 中身にinventoryとtest.ymlがあるので、これをダミーのplaybookにします。
testsディレクトリが作成されるのはAnsibleのバージョンが2.0以降です。 2.0より前は、自分でダミーのplaybookを作成する必要があります。
tests/test.ymlに手を加える
そのままだと動かないのでちょっと編集します。
ロールのパスだけ直して上げればいいのですが、
最初はVagrant上でlocalhostを対象に実行することが多いので
connection: local
も指定しています
@@ -1,5 +1,6 @@
---
- hosts: localhost
+ connection: local
remote_user: root
roles:
- - role-foo2
+ - ../../role-foo
実行してみる
実行してみて下記のようにできたら
あとは、ロールを開発していくだけです。
$ cd path/to/role
$ cd tests
$ ansible-playbook -i inventory test.yml
PLAY [localhost] ***************************************************************
TASK [setup] *******************************************************************
ok: [localhost]
PLAY RECAP *********************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0