前回はAnsible Galaxyのinitコマンドで作成される
testsディレクトリを利用して、ダミーのPlaybookを作りました。
しかし、それだと複数のロールを同時に開発していくときに若干不便です。
複数のロールを開発していく場合は、ダミーのPlaybook用のプロジェクトを利用します。
自分でよく使う設定などをgithubに登録してあるので、
これをcloneして使っています。
このプロジェクトのroles配下に
開発しようとしているロールのシンボリックリンクを貼って開発しています。
ディレクトリツリー
ansible-template
├── ansible.cfg
├── hosts
├── localhost.yml
├── require.yml
└── roles
├── role-foo -> ../../role-foo
└── role-bar -> ../../role-bar
role-foo
├── README.md
├── defaults
│ └── main.yml
├── files
├── handlers
│ └── main.yml
├── meta
│ └── main.yml
├── tasks
│ └── main.yml
├── templates
├── tests
│ ├── inventory
│ ├── test.retry
│ └── test.yml
└── vars
└── main.yml
role-bar
├── README.md
├── defaults
│ └── main.yml
├── files
├── handlers
│ └── main.yml
├── meta
│ └── main.yml
├── tasks
│ └── main.yml
├── templates
├── tests
│ ├── inventory
│ ├── test.retry
│ └── test.yml
└── vars
└── main.yml
シンボリックリンクにしている理由
シンボリックリンクにしているのはAnsible Galaxyのインストールコマンドで
どのようにインストールされるかのテストをすることがあるためです。
ansible-galaxy install -rf require.yml
のようにして依存解決の確認などをしたい時に
実態だと、リポジトリの内容で上書きされてしまいます。
一度痛い目にあってから、シンボリックリンクにするようにしました。