私はよく、Java JDK をインストールしていることに気づきます。ロールを使用すると、そのタッチが簡単になります。私はいくつかの異なる方法を試しました(多くの.gitmodulesとサブモジュールを含む...仕事のために複数のgitシステムを使用する必要があり、すべてが醜くなります)。私の最大の要件は、役割コードを Playbook プロジェクトにチェックインしないことです。ほとんどの場合、すべてを 1 か所に保持できるようにするためです。
私の「requirements.yml」ファイルの内容:
- src: https://github.com/staylorx/ansible-role-wls-prep.git
version: master
name: staylorx.wls-prep
- src: https://my-work-git-extravaganza.com
version: 2.x
name: coolplace.niftyrole
#From Ansible Galaxy
- src: staylorx.oracle-jdk
別のプレイブック install-roles.yml を実行します。
---
- hosts: localhost
tasks:
- file:
path: roles
state: absent
- local_action:
command ansible-galaxy install -r requirements.yml --roles-path roles
- lineinfile:
dest: .gitignore
regexp: '^\/roles$'
line: '/roles'
state: present
この最初の Playbook を実行してから、通常の Playbook でロールを実行します。私にとっての秘訣は、ロールを誤ってチェックインしないように、git によって確実に無視されるようにすることです。また、毎回フォルダーを消去するので、エラーを強制したり無視したりする必要はありません。