Tags trong Ansible là một cách để đánh dấu các tác vụ trong playbook. Các tag được sử dụng để chỉ định các tác vụ nào sẽ được chạy hoặc bỏ qua khi chạy playbook.
Cách sử dụng tag trong playbook:
- name: Install packages
apt:
name: "{{ item }}"
state: latest
with_items:
- package1
- package2
tags:
- installTrong ví dụ trên, tác vụ cài đặt các gói package1 và package2 được đánh dấu bằng tag install.
Cách chạy các tác vụ với tag:
ansible-playbook playbook.yml --tags installTrong lệnh trên, Ansible chỉ thực hiện các tác vụ được đánh dấu bằng tag install.
Cách bỏ qua các tác vụ với tag:
ansible-playbook playbook.yml --skip-tags installTrong lệnh trên, Ansible bỏ qua các tác vụ được đánh dấu bằng tag install.
Ngoài ra, bạn có thể đánh dấu nhiều tác vụ với cùng một tag, hoặc đánh dấu một tác vụ với nhiều tag khác nhau. Ví dụ:
- name: Install packages
apt:
name: "{{ item }}"
state: latest
with_items:
- package1
- package2
tags:
- install
- packageTrong ví dụ này, tác vụ cài đặt các gói package1 và package2 được đánh dấu với hai tag install và package.
- name: Install packages
apt:
name: "{{ item }}"
state: latest
with_items:
- package1
- package2
tags:
- install
- name: Configure packages
template:
src: config.j2
dest: /etc/config
tags:
- configureTrong ví dụ này, tác vụ cài đặt các gói package1 và package2 được đánh dấu với tag install, và tác vụ cấu hình file config.j2 được đánh dấu với tag configure.
Bạn có thể sử dụng các tags trong playbook để chỉ định chỉ chạy các tác vụ cụ thể.
Ví dụ, nếu bạn chỉ muốn thực hiện tác vụ cài đặt Docker, bạn có thể đặt tag install_docker trên tác vụ đó như sau:
- name: Install Docker
apt:
name: docker-ce
state: latest
tags:
- install_dockerTương tự, nếu bạn chỉ muốn thực hiện tác vụ xóa Docker, bạn có thể đặt tag remove_docker trên tác vụ đó như sau:
- name: Remove Docker
apt:
name: docker-ce
state: absent
tags:
- remove_dockerSau đó, bạn có thể chạy playbook và chỉ định tag để chỉ thực hiện các tác vụ cụ thể. Ví dụ, để chỉ thực hiện tác vụ cài đặt Docker, bạn có thể chạy lệnh sau:
ansible-playbook myplaybook.yml --tags install_dockerTương tự, để chỉ thực hiện tác vụ xóa Docker, bạn có thể chạy lệnh sau:
ansible-playbook myplaybook.yml --tags remove_dockerNếu bạn muốn thực hiện cả hai tác vụ, bạn có thể bỏ tag hoặc chỉ định nhiều tag cùng lúc. Ví dụ:
ansible-playbook myplaybook.yml --tags install_docker,remove_dockerTrong trường hợp này, Ansible sẽ thực hiện cả tác vụ cài đặt Docker và xóa Docker.
