Để khởi chạy từ một task bất kỳ trong Ansible và không chạy xuống các task tiếp theo.
Để khởi chạy từ một task bất kỳ trong Ansible và không chạy xuống các task tiếp theo, bạn có thể sử dụng tham số start_at_task
khi chạy lệnh ansible-playbook. Ví dụ, để bắt đầu khởi chạy từ task có tên là “task1”, bạn có thể chạy lệnh sau:
ansible-playbook playbook.yml --start-at-task="task1"
Sau đó, Ansible sẽ chỉ thực hiện các task bắt đầu từ task có tên là “task1” và không chạy xuống các task tiếp theo.
Để khởi chạy từ một task bất kỳ và chạy xuống các task phía dưới.
Để khởi chạy từ một task bất kỳ và chạy xuống các task phía dưới, ta có thể sử dụng module tags
trong Ansible.
Cụ thể, ta sẽ thêm một tag
vào task mà ta muốn khởi chạy và sử dụng --tags
khi chạy playbook để chỉ định các tag
mà ta muốn chạy.
Ví dụ, ta có playbook sau:
- name: Playbook example
hosts: all
tasks:
- name: Task 1
shell: echo "This is task 1"
tags: start
- name: Task 2
shell: echo "This is task 2"
tags:
- step1
- step2
- name: Task 3
shell: echo "This is task 3"
tags:
- step1
- step3
- name: Task 4
shell: echo "This is task 4"
tags: end
Nếu ta muốn khởi chạy từ task 2 và chạy xuống các task phía dưới, ta chỉ cần sử dụng --tags step1
khi chạy playbook:
ansible-playbook playbook.yml --tags step1
Nếu ta muốn khởi chạy từ task 3 và chạy xuống các task phía dưới, ta chỉ cần sử dụng --tags step3
khi chạy playbook:
ansible-playbook playbook.yml --tags step3
Lưu ý rằng các tag
phải được đặt tên sao cho dễ hiểu và phù hợp với từng task, để có thể sử dụng trong các trường hợp khác nhau.