স্কিপ করে মূল কন্টেন্ট এ যান

প্যাকেজ রিলিজ

প্লেগ্রাউন্ড অটোমেটেড CI ওয়ার্কফ্লো ব্যবহার করে npm-এ এর প্যাকেজগুলো পাবলিশ করে। এই পেজে রিলিজ প্রসেস কীভাবে কাজ করে এবং নতুন প্যাকেজ যোগ করার সময় আপনাকে কী জানতে হবে তা ব্যাখ্যা করা হয়েছে।

অটোমেটেড রিলিজ

npm প্যাকেজগুলো প্রতি সোমবার GitHub Actions-এর মাধ্যমে অটোমেটিক্যালি পাবলিশ হয়, অথবা মেইনটেইনাররা ওয়ার্কফ্লো ডিসপ্যাচ ব্যবহার করে ম্যানুয়ালি পাবলিশ করতে পারেন। ওয়ার্কফ্লো Lerna ব্যবহার করে ভার্সন বাম্প করে, রিলিজ ট্যাগ করে এবং সমস্ত পাবলিক প্যাকেজ npm-এ পাবলিশ করে।

CI, npm-এর সাথে OpenID Connect (OIDC) ট্রাস্টেড পাবলিশিং ব্যবহার করে অথেন্টিকেট করে। এটি দীর্ঘমেয়াদী npm টোকেন ব্যবহার করার চেয়ে বেশি সিকিউর কারণ এটি প্রতিটি ওয়ার্কফ্লো রানের জন্য সংক্ষিপ্ত সময়ের ক্রেডেনশিয়াল জেনারেট করে এবং প্যাকেজ প্রভেনেন্স সরাসরি গিটহাব রিপোজিটরির সাথে সংযুক্ত করে।

নতুন প্যাকেজ যোগ করা

যখন আপনি মনোরিপোতে একটি নতুন npm প্যাকেজ যোগ করেন, অটোমেটেড রিলিজ ওয়ার্কফ্লো প্রথম রানে এটি পাবলিশ করতে পারবে না। এটি একটি npm সিকিউরিটি ফিচার: OIDC ট্রাস্টেড পাবলিশিং শুধুমাত্র সেই প্যাকেজগুলোর জন্য কাজ করে যেগুলো ইতিমধ্যে বিদ্যমান এবং গিটহাব রিপোজিটরিকে ট্রাস্ট করার জন্য কনফিগার করা হয়েছে।

আপনাকে যা করতে হবে তা এখানে দেওয়া হলো:

১. প্যাকেজটি ম্যানুয়ালি পাবলিশ করুন

প্রথমে, আপনার লোকাল মেশিনে npm-এর সাথে অথেন্টিকেট করুন:

npm login

তারপর প্রথমবারের জন্য প্যাকেজটি পাবলিশ করুন:

cd packages/your-new-package
npm publish --access public

এটি আপনার অ্যাকাউন্টের অধীনে npm রেজিস্ট্রিতে প্যাকেজটি তৈরি করে।

২. ট্রাস্টেড পাবলিশিং কনফিগার করুন

ইনিশিয়াল পাবলিশের পরে, npmjs.com-এ প্যাকেজের সেটিংসে যান এবং OIDC ট্রাস্টেড পাবলিশিং সেট আপ করুন:

  1. npmjs.com-এ আপনার প্যাকেজে নেভিগেট করুন
  2. SettingsConfigure Trusted Publishers-এ যান
  3. এই সেটিংস দিয়ে একটি নতুন ট্রাস্টেড পাবলিশার যোগ করুন:
    • Repository owner: WordPress
    • Repository name: wordpress-playground
    • Workflow filename: publish-npm-packages.yml
    • Environment: npm

Setting up OIDC trusted publishing on npm

৩. ওনারশিপ ট্রান্সফার করুন (প্রয়োজনে)

আপনি যদি আপনার পার্সোনাল অ্যাকাউন্টের অধীনে পাবলিশ করে থাকেন, প্যাকেজটি @aspect অর্গানাইজেশনে ট্রান্সফার করুন অথবা নিশ্চিত করুন যে উপযুক্ত টিমের পাবলিশ অ্যাক্সেস আছে।

কনফিগার করা হয়ে গেলে, পরবর্তী রিলিজগুলো CI ওয়ার্কফ্লোর মাধ্যমে অটোমেটিক্যালি কাজ করবে।

কেন OIDC নতুন প্যাকেজ পাবলিশ করতে পারে না

npm-এর OIDC ইমপ্লিমেন্টেশনের জন্য ট্রাস্টেড পাবলিশার কনফিগার করার আগে প্যাকেজটি আগে থেকেই বিদ্যমান থাকতে হবে। এটি ডিজাইন অনুযায়ী একটি চিরন্তন সমস্যা—এটি বৈধ মালিক দাবি করার আগে কাউকে গিটহাব ওয়ার্কফ্লোর মাধ্যমে প্যাকেজের নাম হাইজ্যাক করা থেকে রক্ষা করে।

ম্যানুয়াল প্রথম পাবলিশ ওনারশিপ প্রতিষ্ঠা করে এবং ট্রাস্টেড পাবলিশিং তারপর ভবিষ্যতের সমস্ত রিলিজের জন্য সিকিউর, টোকেন-মুক্ত অথেন্টিকেশন প্রদান করে।