প্রকল্প সম্পর্কে
Defang GitHub Action হল একটি CI/CD ইন্টিগ্রেশন যা Defang প্ল্যাটফর্মের মাধ্যমে Compose-ভিত্তিক প্রজেক্টগুলোকে প্রধান ক্লাউড প্রদানকারীদের কাছে ডিপ্লয় করার প্রক্রিয়াকে সহজ করে। এটি আপনার নিজের AWS, Azure, বা GCP অ্যাকাউন্টে, সেইসাথে Defang Playground-এ ডিপ্লয় করা সমর্থন করে।
মূল বৈশিষ্ট্যগুলির মধ্যে রয়েছে:
- **সহজ ডিপ্লয়মেন্ট**: একটি Compose-ভিত্তিক প্রজেক্ট ডিপ্লয় করতে আপনার GitHub ওয়ার্কফ্লোতে একটি একক ধাপ যোগ করুন। অ্যাকশনটির জন্য `contents: read` এবং `id-token: write` অনুমতি প্রয়োজন।
- **সিক্রেট ম্যানেজমেন্ট**: GitHub Actions সিক্রেটগুলোকে Defang কনফিগ মান হিসেবে ক্লাউডে নিরাপদে পাস করুন। আপনি `config-env-vars` ইনপুটের মাধ্যমে কোন এনভায়রনমেন্ট ভেরিয়েবল প্রকাশ করবেন তা নির্দিষ্ট করেন, নিশ্চিত করে যে শুধুমাত্র স্পষ্টভাবে তালিকাভুক্ত সিক্রেটগুলো ক্লাউডে পাঠানো হয়।
- **সাবডিরেক্টরি প্রজেক্ট**: রিপোজিটরি রুটের পরিবর্তে একটি সাবডিরেক্টরিতে অবস্থিত Compose ফাইল নির্দেশ করতে `cwd` ইনপুট ব্যবহার করুন।
- **CLI ভার্সন নিয়ন্ত্রণ**: একটি নির্দিষ্ট Defang CLI ভার্সন পিন করুন (যেমন, `v3.5.2`), সর্বশেষ অস্থির বিল্ডের জন্য `nightly` ব্যবহার করুন, অথবা সোর্স থেকে CLI তৈরি করতে একটি Git ref (ব্রাঞ্চ নাম বা commit SHA) পাস করুন।
- **কাস্টম কমান্ড**: `command` ইনপুটের মাধ্যমে ডিফল্ট `compose up` কমান্ডটি যেকোনো Defang CLI কমান্ড এবং আর্গুমেন্ট দিয়ে ওভাররাইড করুন।
- **আউটপুট ক্যাপচার**: `capture-output: true` ব্যবহার করে ঐচ্ছিকভাবে কমান্ডের stdout-কে একটি ধাপ আউটপুট (`outputs.stdout`) হিসেবে ক্যাপচার করুন। এটি ডিফল্টভাবে নিষ্ক্রিয় কারণ বড় ডিপ্লয়মেন্টগুলো GitHub Actions মেমরি সীমা অতিক্রম করতে পারে।
- **ডিপ্লয়মেন্ট সারাংশ**: `compose up` চালানোর সময়, অ্যাকশনটি স্বয়ংক্রিয়ভাবে `defang services --json` কল করে এবং ডিপ্লয় করা পরিষেবাগুলির একটি টেবিল (পাবলিক এন্ডপয়েন্টগুলো ক্লিকযোগ্য লিংক হিসেবে) GitHub জব সারাংশে লেখে। এটি প্রাথমিক পাবলিক HTTPS এন্ডপয়েন্টটিকে `endpoint` আউটপুট হিসেবে প্রকাশ করে, যা জবের `environment.url`-এ সংযুক্ত করা যেতে পারে রান পেজ, Environments ট্যাব এবং রিপো সাইডবারে একটি ক্লিকযোগ্য "View deployment" লিংকের জন্য। সারাংশটি `summary` ইনপুট দিয়ে টগল করা যেতে পারে।
- **অতিরিক্ত ইনপুট**: কাস্টম Compose ফাইল পাথ নির্দিষ্ট করতে `compose-files`, একটি ডিপ্লয়মেন্ট স্ট্যাক নির্বাচন করতে `stack`, এবং বিস্তারিত লগিংয়ের জন্য `verbose` সমর্থন করে।
অ্যাকশনটি ডিপ্লয়মেন্ট ওয়ার্কফ্লোকে সংক্ষিপ্ত রাখার জন্য ডিজাইন করা হয়েছে, সাথে কনফিগারেশন, ভার্সনিং এবং আউটপুট হ্যান্ডলিংয়ের উপর সূক্ষ্ম নিয়ন্ত্রণ প্রদান করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.