স্বয়ংক্রিয় রিলিজ
একবার একটি রিলিজ সোর্স সংযুক্ত হলে, একটি রিলিজ প্রকাশ করা আপনার রেপোজিটরি থেকে আপনার গ্রাহকদের ডাউনলোডের জন্য একটি হাতছাড়া পাইপলাইন হয়ে যায়।
প্রবাহ
- আপনি সংযুক্ত রেপোজিটরিতে একটি রিলিজ প্রকাশ করেন (অথবা ট্যাগ পুশ করেন, যেখানে প্রযোজ্য)।
- প্রোভাইডারের ওয়েবহুক প্ল্যাটফর্মকে জানায়, যা সোর্স কোড প্রস্তুত করে এবং একটি স্বাক্ষরিত বিল্ড অনুরোধ পাঠায়।
- বিল্ডটি একটি বিচ্ছিন্ন স্যান্ডবক্সে চলে — একটি নিবেদিত, সীমাবদ্ধ, নন-রুট Docker-in-Docker পরিবেশ যা আপনার উৎপাদন কন্টেইনার থেকে আলাদা রাখা হয়।
- সম্পন্ন আর্টিফ্যাক্টটি চেকসাম করা হয় এবং রিলিজগুলিতে ডিস্কে (Cloudflare R2 বা S3-সামঞ্জস্যপূর্ণ স্টোরেজ) সংরক্ষণ করা হয়।
- একটি পণ্য রিলিজ স্বয়ংক্রিয়ভাবে তৈরি হয়, যার চেঞ্জলগ আপনি প্রকাশিত রিলিজের বডি থেকে ধারণ করা হয়।
- রিলিজটি বিদ্যমান লাইসেন্সকৃত ডাউনলোড চেইনের মাধ্যমে উপলব্ধ হয় — একই পথ যা ম্যানুয়াল রিলিজগুলি ইতিমধ্যে ব্যবহার করে।
বিচ্ছিন্নতা ও নিরাপত্তা
প্রতিটি বিল্ড একটি ফেলে দেওয়া স্যান্ডবক্সে চলে: কোন হোস্ট বাইন্ড মাউন্ট নেই, একটি সীমাবদ্ধ মেমরি/CPU/প্রক্রিয়া বাজেট, এবং একটি নন-রুট ব্যবহারকারী। স্যান্ডবক্সের উৎপাদন ডেটা, লাইসেন্স স্বাক্ষর কী, বা আপনার Git শংসাপত্রে কোন অ্যাক্সেস নেই — শুধুমাত্র সোর্স যা এটি তৈরি করতে বলা হয়েছে। একটি ব্যর্থ বা অস্বাভাবিক বিল্ড কেবল তার নিজস্ব ফেলে দেওয়া কন্টেইনারকে ক্ষতি করতে পারে; এটি কখনও বর্তমান প্রকাশিত রিলিজকে স্পর্শ করে না।
একটি বিল্ড পর্যবেক্ষণ করা
অগ্রগতি ট্র্যাক করুন অ্যাডমিন → লাইসেন্সিং → বিল্ডসের অধীনে।প্রতিটি বিল্ড কিউড → ডিসপ্যাচড → বিল্ডিং → আপলোডেড → ভেরিফাইং → পাবলিশড, অথবা ব্যর্থ যদি কোন পদক্ষেপে ত্রুটি ঘটে — বর্তমানে প্রকাশিত রিলিজ কখনও ব্যর্থতার উপর স্পর্শ করা হয় না। ব্যর্থ বিল্ডগুলি একবার মৌলিক সমস্যা সমাধান হলে পুনরায় চেষ্টা করা যেতে পারে।
চেঞ্জলগ ক্যাপচার
যখন রিলিজ ইভেন্টে একটি বর্ণনা থাকে (GitHub রিলিজ নোট, GitLab রিলিজ বর্ণনা, এবং অনুরূপ), এটি নতুন Product Release-এর changelog-এ সরাসরি কপি করা হয় — কোন ম্যানুয়াল পুনরায় প্রবেশের প্রয়োজন নেই। আপনি পরে এটি সম্পাদনা করতে পারেন।

