Tôi thường thấy mình cài đặt cài đặt Java JDK. Sử dụng một vai trò làm cho liên lạc đó dễ dàng hơn. Tôi đã thử một vài cách khác nhau (bao gồm rất nhiều .gitmodules và mô hình con ... Tôi phải sử dụng nhiều hệ thống git cho công việc và tất cả đều trở nên xấu xí). Yêu cầu lớn nhất của tôi là tôi không kiểm tra mã vai trò trong dự án playbook của mình, chủ yếu là để tôi có thể giữ mọi thứ ở một nơi.
Nội dung của tệp 'tests.yml' của tôi:
- 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
Tôi chạy một playbook riêng, install-vai.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
Tôi chạy playbook đầu tiên này, sau đó tôi chạy các vai trò của mình trong bất kỳ playbook nào một cách bình thường. Đối với tôi, bí mật là đảm bảo nó bị bỏ qua bởi git vì vậy tôi không kiểm tra các vai trò do nhầm lẫn. Ngoài ra, vì tôi xóa sạch thư mục mỗi lần, tôi đảm bảo rằng tôi không cần phải ép buộc hoặc bỏ qua lỗi.