paint-brush
পাবলিক নন-স্কোপড প্যাকেজগুলির জন্য শব্দার্থিক রিলিজ কীভাবে বাস্তবায়ন করবেনদ্বারা@antonkalik
733 পড়া
733 পড়া

পাবলিক নন-স্কোপড প্যাকেজগুলির জন্য শব্দার্থিক রিলিজ কীভাবে বাস্তবায়ন করবেন

দ্বারা Anton Kalik13m2023/09/25
Read on Terminal Reader
Read this story w/o Javascript

অতিদীর্ঘ; পড়তে

শব্দার্থিক রিলিজ একটি টুল যা পরিষ্কার এবং কাঠামোগত সংস্করণ নিশ্চিত করার জন্য ডিজাইন করা হয়েছে। ডেভেলপারদের জন্য পাবলিক নন-স্কোপড প্যাকেজ ব্যবহার করে, প্রক্রিয়াটি কঠিন বলে মনে হতে পারে। GitHub অ্যাকশনের শক্তিতে, অটোমেশন একটি হাওয়া হয়ে যায়। এই নিবন্ধটি একটি বিশদ এবং বিস্তৃত নির্দেশিকা অফার করে, ধাপে ধাপে নির্দেশনা প্রদান করে আপনার কর্মপ্রবাহে শব্দার্থ প্রকাশকে একত্রিত করার জন্য।

People Mentioned

Mention Thumbnail
featured image - পাবলিক নন-স্কোপড প্যাকেজগুলির জন্য শব্দার্থিক রিলিজ কীভাবে বাস্তবায়ন করবেন
Anton Kalik HackerNoon profile picture
0-item


GitHub অ্যাকশনের শক্তিকে কাজে লাগিয়ে শব্দার্থিক রিলিজ ব্যবহার করে একটি নন-স্কোপড পাবলিক প্যাকেজ প্রকাশ করার বিষয়ে বিস্তারিত নির্দেশাবলী

বিকশিত সফ্টওয়্যার ডেভেলপমেন্ট ল্যান্ডস্কেপে, সংস্করণের ধারাবাহিকতা বজায় রাখা এবং রিলিজ প্রক্রিয়া স্বয়ংক্রিয় করা আগের চেয়ে বেশি গুরুত্বপূর্ণ। প্রবেশ করুন শব্দার্থিক রিলিজ : পরিষ্কার এবং কাঠামোগত সংস্করণ নিশ্চিত করার জন্য ডিজাইন করা একটি টুল। ডেভেলপারদের জন্য পাবলিক নন-স্কোপড প্যাকেজ ব্যবহার করে, প্রক্রিয়াটি কঠিন বলে মনে হতে পারে। যাইহোক, আমাদের নখদর্পণে GitHub ক্রিয়াগুলির শক্তির সাথে, অটোমেশন একটি হাওয়া হয়ে যায়।


এই নিবন্ধটি একটি বিশদ এবং বিস্তৃত নির্দেশিকা অফার করে, ধাপে ধাপে নির্দেশনা প্রদান করে আপনার ওয়ার্কফ্লোতে সিমান্টিক রিলিজকে নিরবিচ্ছিন্নভাবে একীভূত করার জন্য, বিশেষভাবে যারা পাবলিক নন-স্কোপড প্যাকেজ ব্যবহার করছেন তাদের জন্য তৈরি করা হয়েছে। ডুব দিন এবং সফ্টওয়্যার রিলিজের সুবিন্যস্ত পদ্ধতি আবিষ্কার করুন।


আমি যখন আমার তৈরি পাবলিক প্যাকেজ , আমি NPM-এ এটিকে নির্বিঘ্নে প্রকাশ করতে বাধার সম্মুখীন হয়েছি। সঠিক কনফিগারেশন নিশ্চিত করা একটি চ্যালেঞ্জ ছিল।


এটি পেরেক দিতে, আসুন পাবলিক প্যাকেজগুলি সঠিকভাবে প্রকাশ করার জন্য ধাপে ধাপে অভিজ্ঞতার মধ্য দিয়ে যাই এনপিএম .


বিষয়বস্তু ওভারভিউ

  • প্যাকেজের নাম দিন
  • একটি প্যাকেজ তৈরি করুন
  • প্যাকেজ উৎস
  • টোকেন
  • GitHub অ্যাকশন সেটআপ
  • শব্দার্থিক মুক্তি
  • কমিট ফরম্যাট
  • প্রকাশিত প্যাকেজ
  • উপসংহার


প্যাকেজের নাম দিন

আমাদের প্যাকেজ বাস্তবায়নে ঝাঁপিয়ে পড়ার আগে, এটির জন্য সঠিক নামটি খুঁজে বের করা ভাল। নামটি ইতিমধ্যে নেওয়া হয়নি তা নিশ্চিত করতে — my_package_name চেক করুন এবং আপনার প্যাকেজের জন্য এটি নিন। আমি "টোকি" বেছে নিলাম। সেই দিক থেকে, প্যাকেজের নাম সংরক্ষণ করা অসম্ভব। npm-এ নামের জন্য, আপনাকে প্যাকেজটি প্রকাশ করতে হবে।


একটি প্যাকেজ তৈরি করুন

উদ্দেশ্য হল একটি সহজবোধ্য প্যাকেজ তৈরি করা যা কনসোলে সামগ্রী আউটপুট করে। আমাদের নিশ্চিত করতে হবে যে আমরা এটি ইনস্টল করতে পারি এবং এটি চালাতে পারি। বিল্ড প্রক্রিয়ার জন্য, আসুন সহজ ব্যবহার করি তৈরি করা .


এই নিবন্ধের সময়, আমি প্যাকেজের নাম ব্যবহার করব tokky । প্রাথমিক তথ্য দিয়ে package.json তৈরি করি।

 mkdir tokky && cd tokky && npm init -y


কমান্ডটি কার্যকর করার পরে, সিস্টেমটি প্রকল্পের জন্য একটি ডিফল্ট package.json ফাইল তৈরি করেছে, যা দেখতে এইরকম:

 { "name": "tokky", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" }


এই নির্দেশিকায়, package.json ফাইলটি সঠিক কনফিগারেশন নিশ্চিত করতে গুরুত্বপূর্ণ ভূমিকা পালন করে। এই মুহুর্তে, আমাদের প্যাকেজের জন্য নোড সংস্করণ নির্দিষ্ট করা যাক:

 echo "v18" > .nvmrc


এবং নিম্নলিখিতগুলির সাথে নির্দিষ্ট সংস্করণটি সক্রিয় করুন:

 nvm use


README.md ফাইলের জন্য:

 echo "# Tokky\n\nA simple zero dependency logger for node js." > README.md


অবশেষে, উন্নয়ন নির্ভরতা ইনস্টল করুন:

 npm i -D esbuild eslint prettier


আমাদের প্রাথমিক কনফিগারেশনে, আমাদেরকে package.json এ বেশ কয়েকটি মূল পয়েন্ট অ্যাড্রেস করতে হবে:


  • main : এটি মডিউলের জন্য প্রাথমিক এন্ট্রি পয়েন্ট নির্ধারণ করে।
  • bin : এখানে, আপনি আপনার মডিউল প্রদান করে যে কোনো এক্সিকিউটেবল উল্লেখ করবেন।
  • files : এতে ফাইল প্যাটার্নের একটি অ্যারে থাকা উচিত যা প্যাকেজটি প্যাক করার সময় অন্তর্ভুক্ত করা হবে এবং পরবর্তীতে npm রেজিস্ট্রিতে প্রকাশিত হবে।
  • private : আমাদের প্যাকেজটি সর্বজনীন হওয়ার উদ্দেশ্যে এটি false হিসাবে সেট করা হয়েছে তা নিশ্চিত করুন৷
  • publishConfig : এর জন্য অ্যাক্সেস public সেট করা উচিত।


এই কনফিগারেশনের পরে, আপনার package.json নিম্নলিখিতগুলির অনুরূপ হওয়া উচিত:

 { "name": "tokky", "version": "1.0.0", "description": "Node js logger package", "main": "dist/index.js", "scripts": { "build": "esbuild src/index.js --bundle --platform=node --format=cjs --minify --outfile=dist/index.js", }, "files": [ "dist" ], "bin": { "tokky": "./dist/index.js" }, "keywords": [ "logger", "nodejs", "tokky" ], "private": false, "author": { "name": "Anton Kalik", "email": "[email protected]", "url": "https://idedy.com" }, "publishConfig": { "access": "public" }, "license": "MIT", "engines": { "node": "18.xx" }, "devDependencies": { "esbuild": "^0.19.2", "eslint": "^8.49.0", "prettier": "^3.0.3" } }

প্রাথমিক সেটআপের পরে package.json


উপরন্তু, দুটি উপেক্ষা ফাইল যোগ করা যাক:

 .idea node_modules dist

.gitignore


এবং npm এর জন্য:

 .idea /src/ /node_modules/ /test/ /.nvmrc .github/

.npmignore


অবশেষে, আমি ESLint এর জন্য আমার সেটআপের রূপরেখা দেব। যাইহোক, মনে রাখবেন আপনার প্যাকেজের নির্দিষ্ট প্রয়োজনীয়তার উপর ভিত্তি করে কনফিগারেশন পরিবর্তিত হতে পারে।

 module.exports = { env: { browser: true, commonjs: true, es2021: true, node: true, }, extends: "eslint:recommended", overrides: [ { env: { node: true, }, files: ["src/**/*.js", ".eslintrc.{js,cjs}"], parserOptions: { sourceType: "script", }, }, ], parserOptions: { ecmaVersion: "latest", }, rules: {}, };

.eslintrc.js কনফিগারেশন


এরপরে, গিটহাবে যান এবং একটি নতুন সংগ্রহস্থল স্থাপন করুন। আপনার প্যাকেজের পরে এটির নাম দিন।

GitHub এ একটি সংগ্রহস্থল তৈরি করুন


পরবর্তী কমান্ডগুলি সম্পাদন করে এগিয়ে যান:

 git init git add . git commit -m "first commit" git branch -M main git remote add origin [email protected]:<your_github_username>/tokky.git git push -u origin main


প্যাকেজ উৎস

এর পরে, আসুন একটি মৌলিক অ্যাপ্লিকেশন তৈরি করি এবং এটি নির্মাণের জন্য সেট আপ করি। src ফোল্ডারের ভিতরে, একটি index.js ফাইল তৈরি করুন এবং নিম্নলিখিত বিষয়বস্তু দিয়ে এটি পপুলেট করুন:


 #!/usr/bin/env node const os = require('os'); const username = os.userInfo().username; if (process.argv[2] === 'hi') { console.log(`Hello ${username}`); }

প্যাকেজ উদাহরণের জন্য সহজ স্ক্রিপ্ট


ধারণাটি সহজবোধ্য: my_package_name hi চালানো হলে "হ্যালো [ব্যবহারকারীর নাম]" প্রদর্শন করা উচিত।


এই কার্যকারিতা যাচাই করতে, কমান্ডটি সরাসরি আপনার সংগ্রহস্থল থেকে ব্যবহার করে চালান:

 node src/index.js hi


যদি আউটপুট প্রত্যাশার সাথে সারিবদ্ধ হয়, তবে উত্সটি তৈরি করার সময় এসেছে:

 npm run build


এই কমান্ডটি সফলভাবে চালানোর ফলে একটি minified index.js ফাইল ধারণকারী একটি dist ফোল্ডার তৈরি হবে।

টোকেন

সিমান্টিক রিলিজ এক্সিকিউট করুন, যা ভার্সন বাম্প নির্ধারণ করবে এবং কমিট মেসেজের উপর ভিত্তি করে রিলিজ প্রক্রিয়া পরিচালনা করবে, সঠিকভাবে কাজ করার জন্য এনভায়রনমেন্ট ভেরিয়েবল ( GITHUB_TOKEN , NPM_TOKEN ) প্রয়োজন। টোকেনগুলি GitHub গোপনীয়তা থেকে আনা হয়, নিশ্চিত করে যে সেগুলি গোপনীয় থাকবে৷


GITHUB_TOKEN সেট করতে, এখানে নেভিগেট করুন: https://github.com/settings/tokens

একটি ড্রপডাউন ব্যবহার করে টোকেন তৈরি করুন। নতুন ব্যক্তিগত অ্যাক্সেস টোকেনে ক্লিক করুন (ক্লাসিক) এবং ছবির মতো অনুমতি সেট করুন।


নীচে দেখানো হিসাবে আপনার প্যাকেজ নাম ব্যবহার করুন:

GitHub টোকেন সেট করুন


একবার তৈরি হয়ে গেলে, টোকেন মানটি অনুলিপি করুন এবং এটি গোপনীয় রাখুন — এটি অন্যদের সাথে শেয়ার না করা গুরুত্বপূর্ণ। সাময়িকভাবে এই টোকেনটি নিরাপদে সংরক্ষণ করুন, কারণ শব্দার্থিক রিলিজ CLI-এর জন্য আমাদের শীঘ্রই এটির প্রয়োজন হবে।


NPM_TOKEN জেনারেট করতে আপনার প্রথমে একটি অ্যাকাউন্ট চালু করতে হবে৷ npm এর অফিসিয়াল ওয়েবসাইট . আপনি যদি এখনও নিবন্ধন না করে থাকেন তবে নিবন্ধন প্রক্রিয়ার মাধ্যমে যান। এর পরে, নেভিগেট করুন:

 https://www.npmjs.com/settings/<your_user_name>/tokens/new


এবং "প্রকাশ" বিকল্পের সাথে একটি "ক্লাসিক" টোকেন তৈরি করুন।


NPM টোকেন জেনারেট করুন


টোকেনের উত্পন্ন মান অনুলিপি করুন এবং GitHub গোপনীয়তায় নেভিগেট করুন:

 https://github.com/<your_user_name>/<your_repo_name>/settings/secrets/actions/new


এবং সংগ্রহস্থলের গোপনীয়তায় NPM_TOKEN হিসাবে নতুন গোপন রাখুন:


GitHub সংগ্রহস্থলের গোপনীয়তায় NPM টোকেন


আমাদের গোপনীয়তাগুলি এখন সেট আপ করার সাথে, আমরা গিটহাব অ্যাকশনগুলি কনফিগার করতে পারি।


GitHub অ্যাকশন সেটআপ

আমাদের প্রক্রিয়াগুলি স্বয়ংক্রিয় করতে, আমরা গিটহাব অ্যাকশন ব্যবহার করতে যাচ্ছি। এটি একটি CI/CD টুল যা GitHub-এর মধ্যে সংহত। এটি ডেভেলপারদের তাদের গিটহাব রিপোজিটরি থেকে সরাসরি ওয়ার্কফ্লো স্বয়ংক্রিয় করতে দেয়, যেমন অ্যাপ্লিকেশন তৈরি করা, পরীক্ষা করা এবং স্থাপন করা। YAML ফাইলগুলিতে ওয়ার্কফ্লোগুলি সংজ্ঞায়িত করে, ব্যবহারকারীরা নির্দিষ্ট ইভেন্টগুলির উপর ভিত্তি করে কাজগুলি ট্রিগার করতে পারে যেমন পুশ এবং পুল অনুরোধ বা নির্ধারিত সময়ের, সফ্টওয়্যার বিকাশ প্রক্রিয়াটিকে আরও দক্ষ এবং স্বয়ংক্রিয় করে তোলে।

শুরু করতে, আপনার প্রকল্পের মূলে একটি .github ডিরেক্টরি তৈরি করুন। এই ডিরেক্টরির মধ্যে, একটি workflows সাবফোল্ডার স্থাপন করুন।


এখানে, release.yml নামে আমাদের কনফিগারেশন ফাইলটি তৈরি করুন এবং এটিকে নিম্নলিখিত বিষয়বস্তু দিয়ে পূরণ করুন:

 name: Release package on: push: branches: - main jobs: release: runs-on: ubuntu-latest if: ${{ github.ref == 'refs/heads/main' }} steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: "18" - name: Install dependencies run: npm ci - name: Build run: npm run build - name: Semantic Release run: npm run semantic-release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }}


এই কর্মপ্রবাহ মূল শাখায় একটি পুশ ইভেন্টকে ট্রিগার করে। এটি সর্বশেষ উবুন্টু ভার্চুয়াল মেশিন গিটহাবের অফারগুলিতে কাজ চালানোর জন্য কনফিগার করা হয়েছে। যদিও প্রতিটি কাজের মধ্যে অনুসন্ধান করা জরুরী নয়, আসুন কিছু নির্দিষ্ট বিষয়ের উপর আলোকপাত করা যাক। শেষের দিকে, লক্ষ্য করুন আমরা কীভাবে npm run semantic-release মনোনীত টোকেন ব্যবহার করে আহ্বান করি।


শব্দার্থিক মুক্তি

স্বয়ংক্রিয় রিলিজ প্রক্রিয়ার জন্য, আমরা শব্দার্থিক রিলিজ ব্যবহার করতে যাচ্ছি। এই টুলটি কমিট মেসেজ শব্দার্থবিদ্যার উপর ভিত্তি করে সংস্করণ এবং প্যাকেজ প্রকাশনা পরিচালনা করে। এটি সংস্করণ বাম্প (প্রধান, ছোট বা প্যাচ) নির্ধারণের জন্য শব্দার্থিক সংস্করণ (SemVer) এর নিয়ম অনুসরণ করে। প্রতিশ্রুতি বার্তাগুলি বিশ্লেষণ করে এটি সংস্করণের ম্যানুয়াল পদক্ষেপগুলিকে সরিয়ে দেয়, সামঞ্জস্যপূর্ণ সংস্করণ নম্বরগুলি নিশ্চিত করে এবং প্রকাশের প্রক্রিয়াটিকে স্ট্রিমলাইন করে। এটা সেট আপ করা যাক.


যে সেটআপের জন্য, আমরা ব্যবহার করব এই GitHub কোড এবং এটি আপনার সংগ্রহস্থলে চালান:

 npx semantic-release-cli setup


এবং প্রশ্নগুলি অনুসরণ করুন:

 % npx semantic-release-cli setup ? What is your npm registry? https://registry.npmjs.org/ ? What is your npm username? your_user_name ? What is your npm password? [hidden] ? What is your NPM two-factor authentication code? 00000000 ? Provide a GitHub Personal Access Token (create a token at https://github.com/s ettings/tokens/new?scopes=repo) ghp_your_token_here ? What CI are you using? Github Actions


আপনার কাছে ইতিমধ্যেই আপনার ব্যক্তিগত টোকেন থাকা উচিত। অনুরোধ করা হলে কেবল এটি ইনপুট করুন। একইভাবে, আমরা যে GitHub অ্যাকশনগুলি সেট আপ করেছি তা NPM_TOKEN ব্যবহার করবে যা আমরা পূর্বে সংগ্রহস্থলের গোপনীয়তায় প্রতিষ্ঠিত করেছি। আপনি যদি এখন আপনার package.json চেক করেন, তাহলে সংস্করণটি এইভাবে প্রদর্শিত হবে:

 "version": "0.0.0-development",


এবং নতুন স্ক্রিপ্ট:

 "semantic-release": "semantic-release"


যেটি সিমান্টিক রিলিজ CLI দ্বারা স্বয়ংক্রিয়ভাবে তৈরি হয়েছিল। আমাদের এই স্ক্রিপ্টটি নিম্নরূপ উন্নত করতে হবে:

 "semantic-release": "semantic-release --branches main"


এটি নির্দেশ করে যে রিলিজগুলি শুধুমাত্র প্রধান শাখা থেকে তৈরি করা হবে।

অতিরিক্তভাবে, শব্দার্থিক রিলিজ আপনার package.jsonrepository ক্ষেত্রের উপর ভিত্তি করে একটি বিবরণ তৈরি করে। এই ক্ষেত্রটি প্যাকেজের সোর্স কোডের অবস্থান সম্পর্কে বিশদ বিবরণ প্রদান করে।

 "repository": { "type": "git", "url": "https://github.com/<your_github_username>/your_github_repo.git" }


এখন, এর সাথে আমাদের সমস্ত পরিবর্তনগুলিকে এগিয়ে দেওয়া যাক:

 git add . && git commit -m "semantic release" && git push


কমিট ফরম্যাট

শব্দার্থিক রিলিজ ভার্সন বাম্পের ধরন (মেজর, মাইনর, বা প্যাচ) নির্ধারণ করতে এবং চেঞ্জলগ তৈরি করতে কাঠামোবদ্ধ কমিট বার্তার কনভেনশনের উপর নির্ভর করে। এই কমিট কনভেনশনকে প্রায়ই "প্রচলিত কমিট" ফরম্যাট বলা হয়।


এই কনফিগারেশনের জন্য, আমাদের বেশ কয়েকটি প্লাগইন লাগবে। নিশ্চিত করুন যে আপনার package.json নিম্নলিখিত সামগ্রী রয়েছে:


 "release": { "branches": [ { "name": "main" } ], "plugins": [ [ "@semantic-release/commit-analyzer", { "releaseRules": [ { "type": "feat", "release": "minor" }, { "type": "fix", "release": "patch" }, { "type": "refactor", "release": "patch" }, { "type": "build", "release": "patch" }, { "type": "chore", "release": "patch" }, { "type": "minor", "release": "patch" } ] } ], "@semantic-release/release-notes-generator", "@semantic-release/npm", "@semantic-release/github", [ "@semantic-release/changelog", { "changelogFile": "CHANGELOG.md" } ] ] }

package.json


সেটআপ কমিট ফরম্যাট টুলের জন্য, আমরা ব্যবহার করতে যাচ্ছি প্রতিশ্রুতিবদ্ধ . এটি ইনস্টল করতে, এই কমান্ডটি অনুসরণ করুন:

 npx commitizen init cz-conventional-changelog --save-dev --save-exact


এই কমান্ডটি কয়েক মিনিট সময় নেবে। তারপর একটি নতুন স্ক্রিপ্ট দিয়ে আপনার package.json আপডেট করুন:

 "scripts": { // ... "commit": "cz" },


এবং এটি সেই স্ক্রিপ্টটি ব্যবহার করার সময়। git add . , তারপর npm run commit চালান এবং আপনার প্রতিশ্রুতির জন্য প্রয়োজনীয় বিবরণ প্রদান করুন।


এটি দেখতে কেমন তা এখানে:

 ? Select the type of change that you're committing: feat: A new feature ? What is the scope of this change (eg component or file name): (press enter to skip) commit ? Write a short, imperative tense description of the change (max 86 chars): (14) add commitizen ? Provide a longer description of the change: (press enter to skip) ? Are there any breaking changes? No ? Does this change affect any open issues? No

এর পরে, একটি git push করুন।


GitHub অ্যাকশনে, আপনি দেখতে পাবেন যে আমাদের প্রতিশ্রুতি ব্যর্থ হয়েছে কারণ আমরা এখনও স্বয়ংক্রিয় প্রতিশ্রুতি বার্তা প্রক্রিয়ার জন্য বাকি প্যাকেজগুলি ইনস্টল করিনি।

 npm i -D @semantic-release/commit-analyzer @semantic-release/release-notes-generator @semantic-release/npm @semantic-release/changelog


একটি গুরুত্বপূর্ণ পদক্ষেপ, প্রায়শই বেশিরভাগ রেফারেন্সে উপেক্ষা করা হয়, কর্মপ্রবাহের অনুমতিগুলি সেট করা হয়। https://github.com/<your_user_name>/tokky/settings/actions এ নেভিগেট করুন এবং GitHub ক্রিয়াকলাপ পড়তে এবং লিখতে উভয়ের অনুমতি দেওয়ার জন্য অনুমতিগুলি কনফিগার করুন।


পড়তে এবং লিখতে অনুমতি দিন


এর পরে, আসুন কিছু পরিবর্তন করি। একটি নির্দিষ্ট কীওয়ার্ড দিয়ে প্রতিশ্রুতিবদ্ধ, feat: , আপনার বার্তা অনুসরণ করুন।

 git add . && git commit -m "feat: my feature commit" && git push


আপনি কি package.json এর মধ্যে releaseRules স্মরণ করেন? এই নিয়মগুলি নির্দেশ করে যে আমরা কীভাবে আমাদের প্যাকেজ প্রকাশের সংস্করণ বৃদ্ধি করি। এটির সাথে, আপনি বিশেষ কীওয়ার্ড যেমন feat , fix , refactor , ইত্যাদি ব্যবহার করে একটি পুল অনুরোধ তৈরি করতে পারেন। একবার এই পুল অনুরোধটি অনুমোদিত হয়ে গেলে এবং পরবর্তীতে প্রধান শাখায় একত্রিত হলে, এটি একটি ট্রিগার শুরু করবে। এই ট্রিগার তারপর GitHub অ্যাকশন সক্রিয় করে, রিলিজ প্রক্রিয়া স্বয়ংক্রিয় করে এবং নিশ্চিত করে যে আপনার প্যাকেজ নির্বিঘ্নে আপডেট করা হয়েছে।


প্রকাশিত প্যাকেজ

প্যাকেজটি সফলভাবে প্রকাশিত হয়েছে, এবং সম্পূর্ণ প্রক্রিয়াটি দক্ষতার জন্য স্বয়ংক্রিয়ভাবে করা হয়েছে। প্রকাশনা নিশ্চিত করতে, আপনার npm সেটিংসে যান https://www.npmjs.com/settings/<your_user_name>/packages এবং প্যাকেজ বিভাগের নীচে দেখুন; সেখানে, আপনি আপনার সদ্য প্রকাশিত প্যাকেজ পাবেন।


এখন, npx your_package_name hi এর মতো একটি সাধারণ কমান্ডের সাহায্যে আপনি আমাদের ডেভেলপমেন্ট পরীক্ষার ফলাফল অবিলম্বে দেখতে পাবেন। উপরন্তু, প্যাকেজটি npm i -g your_package_name কমান্ড ব্যবহার করে বিশ্বব্যাপী ইনস্টল করা যেতে পারে।


উপসংহার

আমরা এই নিবন্ধটি জুড়ে দেখেছি, যদিও প্রাথমিক সেটআপগুলি চ্যালেঞ্জের সাথে ধাঁধাঁযুক্ত হতে পারে, পুরস্কারটি একটি সুবিন্যস্ত এবং সামঞ্জস্যপূর্ণ রিলিজ প্রক্রিয়া প্রতিষ্ঠার মধ্যে রয়েছে। গিটহাব অ্যাকশনগুলি ব্যবহার করা এই জটিলতাগুলিকে সরল করে, ডেভেলপাররা যৌক্তিক জটিলতার পরিবর্তে কোডের মানের উপর ফোকাস করতে পারে তা নিশ্চিত করে।


আপনি সবেমাত্র পাবলিক প্যাকেজ নিয়ে আপনার যাত্রা শুরু করছেন বা আপনার প্রকাশনার প্রচেষ্টায় বাধার সম্মুখীন হয়েছেন কিনা, একটি কাঠামোগত, স্বয়ংক্রিয় কর্মপ্রবাহ গ্রহণ করার ক্ষেত্রে অনস্বীকার্য মূল্য রয়েছে। সিমেন্টিক রিলিজকে একীভূত করার মাধ্যমে, আপনি ধারাবাহিক সংস্করণ নিশ্চিত করছেন এবং সফ্টওয়্যার বিকাশের জন্য একটি ভবিষ্যত-অগ্রগতি পদ্ধতিকে চ্যাম্পিয়ন করছেন।

এখানে নিরবচ্ছিন্ন প্রকাশনা, কম মাথাব্যথা, এবং কোডটি নিখুঁত করতে আরও বেশি সময় ব্যয় করা হয়েছে যা আমাদের ডিজিটাল বিশ্বকে এগিয়ে নিয়ে যায়।


মনে রাখবেন, NPM_TOKEN এবং GITHUB_TOKEN উভয়কেই GitHub অ্যাকশনের মধ্যে উপযুক্ত অনুমতি দেওয়া অপরিহার্য। উপরন্তু, আপনার package.json publishConfig অ্যাক্সেসের জন্য সেটিংসের সাথে সঠিকভাবে কনফিগার করা উচিত এবং নিশ্চিত করা উচিত যে private কনফিগারটি false তে সেট করা আছে। আপনি যদি কোনো সমস্যার সম্মুখীন হন বা অন্তর্দৃষ্টি থাকে, অনুগ্রহ করে মন্তব্য করতে দ্বিধা করবেন না।


তথ্যসূত্র

সংগ্রহস্থল: https://github.com/antonkalik/tokky
শব্দার্থিক রিলিজ CLI: https://github.com/semantic-release/cli
প্রতিশ্রুতিবদ্ধ: https://github.com/commitizen/cz-cli



এছাড়াও এখানে প্রকাশিত.


ধন্যবাদ হারপার রবিবার সীসা ইমেজ জন্য Unsplash থেকে.