我经常发现自己在安装 Java JDK。使用角色使这种接触更容易。我尝试了几种不同的方法(包括许多 .gitmodules 和子模块......我必须使用多个 git 系统来工作,而且一切都变得丑陋)。我最大的要求是不要将角色代码检查到我的剧本项目中,主要是为了可以将所有内容保存在一个地方。
我的“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
我运行第一个剧本,然后我在任何剧本中正常运行我的角色。对我来说,秘诀是确保它被 git 忽略,所以我不会错误地检查角色。此外,由于我每次都清除文件夹,因此我确保不需要强制或忽略错误。