উত্তরযোগ্য GitHub অ্যাকশন

Uttarayogya Github A Yakasana



Ansible হল একটি জনপ্রিয়, বিনামূল্যের এবং ওপেন-সোর্স অটোমেশন টুল যা আমাদের DevOps কাজগুলি যেমন কনফিগার ব্যবস্থাপনা, অ্যাপ স্থাপনা ইত্যাদি স্বয়ংক্রিয় করতে দেয়।

GitHub অ্যাকশনের সাথে Ansible-এর সংমিশ্রণ আমাদেরকে Ansible playbooks-এর সঞ্চালন স্বয়ংক্রিয় করার অনুমতি দেয় যখনই কোনও রিপোজিটরিতে কোনও নির্দিষ্ট ঘটনা ঘটে, যেমন মূল শাখায় ধাক্কা দেওয়া।







এই টিউটোরিয়ালটি আপনাকে শেখায় যে কীভাবে একটি উত্তরযোগ্য প্লেবুক চালানোর জন্য একটি গিটহাব অ্যাকশন সেট আপ করতে হয় যা কোড পরিবর্তনের প্রতিক্রিয়াতে স্থাপনার স্বয়ংক্রিয়তার জন্য দরকারী।



পূর্বশর্ত:

এগিয়ে যাওয়ার আগে, নিশ্চিত করুন যে আপনার নিম্নলিখিতগুলি আছে:



  • একটি GitHub অ্যাকাউন্ট
  • একটি বিদ্যমান GitHub সংগ্রহস্থল
  • উত্তরযোগ্য প্লেবুকের প্রাথমিক জ্ঞান
  • একটি টার্গেট মেশিন যেখানে Ansible কাজগুলি চালাতে পারে। নিশ্চিত করুন যে Ansible একজন GitHub রানার থেকে এই মেশিনগুলির সাথে সংযোগ করতে পারে।

ধাপ 1: উত্তরযোগ্য পরিবেশ সেটআপ করুন

GitHub রিপোজিটরিতে উত্তরযোগ্য প্লেবুক এবং সমস্ত সম্পর্কিত ফাইল তৈরি এবং সংরক্ষণ করুন। এতে ভূমিকা টেমপ্লেট, ভেরিয়েবল ইত্যাদির মতো ফাইল অন্তর্ভুক্ত করা উচিত।





একটি উদাহরণ প্লেবুক নিম্নরূপ:

---
- নাম: ওয়েব সার্ভারে Nginx ইনস্টল করা আছে তা নিশ্চিত করুন
হোস্ট: ওয়েব সার্ভার
হয়ে: হ্যাঁ
কাজ:
- নাম: অ্যাপটি ক্যাশে আপডেট করুন
উপযুক্ত:
আপডেট_ক্যাশে: হ্যাঁ

- নাম: Nginx ইনস্টল করুন
উপযুক্ত:
নাম: nginx
রাষ্ট্র: বর্তমান

নিশ্চিত করুন যে আপনার কাছে Ansible-এর লক্ষ্য মেশিনগুলি নির্দিষ্ট করে একটি ইনভেন্টরি ফাইল আছে।



ধাপ 2: গিটহাব রিপোজিটরিতে গোপনীয়তা সেটআপ করুন

প্রদত্ত যে প্লেবুকের জন্য SSH কী বা পাসওয়ার্ডের মতো সংবেদনশীল তথ্য প্রয়োজন, GitHub গোপনীয়তাগুলিকে নিরাপদে সংরক্ষণ করার একটি উপায় প্রদান করে:

আপনার GitHub সংগ্রহস্থলে নেভিগেট করুন।

সেটিংস > সিক্রেটস এবং ভেরিয়েবল -> অ্যাকশন -> নতুন রিপোজিটরি সিক্রেট-এ যান।

ধাপ 3: গিটহাব অ্যাকশন ওয়ার্কফ্লো তৈরি করুন

সংগ্রহস্থলে, একটি '.github/workflows' ডিরেক্টরি তৈরি করুন। এই ডিরেক্টরির ভিতরে, আপনার কর্মপ্রবাহের জন্য একটি YAML ফাইল তৈরি করুন।

নিম্নরূপ কর্মপ্রবাহ যোগ করুন:

নাম: Ansible Playbook চালান
চালু:
ধাক্কা:
শাখা:
- মাস্টার
কাজ:
স্থাপন:
রান-অন: উবুন্টু-লেটেস্ট
পদক্ষেপ:
- নাম: চেকআউট কোড
ব্যবহার করে: actions/checkout@v2
- নাম: SSH কী সেট আপ করা হচ্ছে
রান: |
প্রতিধ্বনি '${{ secrets.SSH_PRIVATE_KEY }}' > private_key.pem
chmod 600 private_key.pem
- নাম: Ansible Playbook চালান
রান: |
sudo apt আপডেট
sudo apt install -y উত্তরযোগ্য
ansible-playbook -i hosts.ini my-playbook.yml --private-key=private_key.pem --user=${{ secrets.REMOTE_USER }}

ধাপ 4: ওয়ার্কফ্লো ট্রিগার করুন

যখনই আপনি মাস্টার শাখায় ধাক্কা দেবেন, GitHub স্বয়ংক্রিয়ভাবে এই ওয়ার্কফ্লো চালাবে এবং এইভাবে প্লেবুকটি কার্যকর করবে।

উপসংহার

এটা এই এক জন্য. আমরা গিথুব অ্যাকশন ব্যবহার করে কীভাবে একটি উত্তরযোগ্য প্লেবুক চালাতে হয় তা কভার করেছি।