Ansible এ টাস্ক ট্যাগিং একটি পদ্ধতি, যা নির্দিষ্ট টাস্ক বা টাস্কগুলিকে নির্দিষ্ট ট্যাগ দিয়ে চিহ্নিত করে। ট্যাগ ব্যবহার করে আপনি প্লেবুকের নির্দিষ্ট টাস্ক বা অংশ রান করতে বা স্কিপ করতে পারেন। এটি বড় প্লেবুক বা জটিল ইনফ্রাস্ট্রাকচারের ক্ষেত্রে অত্যন্ত উপযোগী, কারণ আপনি শুধুমাত্র প্রয়োজনীয় অংশ বা টাস্কগুলিকে টার্গেট করতে পারেন, এবং বাকি অংশগুলি এড়িয়ে যেতে পারেন।
Ansible এ টাস্ক, রোল, এমনকি পুরো প্লেবুকেও ট্যাগ ব্যবহার করা যায়। যখন আপনি প্লেবুক রান করেন, তখন --tags
অথবা --skip-tags
ফ্ল্যাগ ব্যবহার করে নির্দিষ্ট টাস্ক বা অংশ নিয়ন্ত্রণ করতে পারেন।
---
- name: Example playbook with task tagging
hosts: all
become: yes
tasks:
- name: Install Apache
apt:
name: apache2
state: present
tags:
- webserver
- install
- name: Start Apache service
service:
name: apache2
state: started
tags:
- webserver
- start
- name: Install MySQL
apt:
name: mysql-server
state: present
tags:
- database
- install
- name: Start MySQL service
service:
name: mysql
state: started
tags:
- database
- start
এখানে, টাস্কগুলিকে বিভিন্ন ট্যাগ দিয়ে চিহ্নিত করা হয়েছে যেমন: webserver
, install
, database
, এবং start
। এই ট্যাগগুলো পরে প্লেবুক রান করার সময় নির্দিষ্ট টাস্কগুলো সিলেক্ট করতে বা এড়িয়ে যেতে সাহায্য করবে।
প্লেবুক রান করার সময় --tags
অথবা --skip-tags
ফ্ল্যাগ ব্যবহার করে নির্দিষ্ট টাস্ক বা অংশ নিয়ন্ত্রণ করা যায়।
যদি আপনি শুধু webserver
ট্যাগযুক্ত টাস্কগুলো রান করতে চান, তাহলে নিচের মতো কমান্ড ব্যবহার করতে পারেন:
ansible-playbook playbook.yml --tags "webserver"
এটি শুধুমাত্র webserver
ট্যাগযুক্ত টাস্কগুলো রান করবে, অন্য টাস্কগুলো স্কিপ করবে।
আপনি একাধিক ট্যাগ দিয়ে কমান্ড দিতে পারেন, সেক্ষেত্রে কমা (,
) দিয়ে ট্যাগগুলো আলাদা করতে হবে:
ansible-playbook playbook.yml --tags "webserver,database"
এটি webserver
এবং database
ট্যাগযুক্ত সমস্ত টাস্ক রান করবে।
যদি আপনি একটি নির্দিষ্ট ট্যাগের টাস্কগুলো এড়িয়ে যেতে চান, তাহলে --skip-tags
ব্যবহার করতে পারেন:
ansible-playbook playbook.yml --skip-tags "database"
এটি database
ট্যাগযুক্ত টাস্কগুলো স্কিপ করবে এবং অন্য সব টাস্ক রান করবে।
আপনি চাইলে একটি পুরো রোল বা প্লেবুকেও ট্যাগ প্রয়োগ করতে পারেন, যাতে সেই ট্যাগ রান করার সময় পুরো রোল বা প্লেবুক কার্যকর হয়।
---
- name: Playbook with role tagging
hosts: all
roles:
- { role: apache, tags: ["webserver"] }
এখানে, apache
রোলটি webserver
ট্যাগ দিয়ে চিহ্নিত করা হয়েছে। আপনি --tags "webserver"
ব্যবহার করলে এই রোলের সমস্ত টাস্ক কার্যকর হবে।
--tags
এবং --skip-tags
ফ্ল্যাগ ব্যবহার করে নির্দিষ্ট টাস্ক রান করা বা স্কিপ করা যায়, যা প্লেবুকের কার্যকারিতা এবং কর্মক্ষমতা বাড়ায়।Ansible এ টাস্ক ট্যাগিং এবং ট্যাগ ব্যবহার করে প্লেবুককে আরও মডুলার, পুনরায় ব্যবহারযোগ্য, এবং মেইনটেইনেবল করা যায়, যা ইনফ্রাস্ট্রাকচারের জটিলতা হ্রাস করে।
আরও দেখুন...