GitHub অ্যাকশনের শক্তিকে কাজে লাগিয়ে শব্দার্থিক রিলিজ ব্যবহার করে একটি নন-স্কোপড পাবলিক প্যাকেজ প্রকাশ করার বিষয়ে বিস্তারিত নির্দেশাবলী বিকশিত সফ্টওয়্যার ডেভেলপমেন্ট ল্যান্ডস্কেপে, সংস্করণের ধারাবাহিকতা বজায় রাখা এবং রিলিজ প্রক্রিয়া স্বয়ংক্রিয় করা আগের চেয়ে বেশি গুরুত্বপূর্ণ। প্রবেশ করুন : পরিষ্কার এবং কাঠামোগত সংস্করণ নিশ্চিত করার জন্য ডিজাইন করা একটি টুল। ডেভেলপারদের জন্য পাবলিক নন-স্কোপড প্যাকেজ ব্যবহার করে, প্রক্রিয়াটি কঠিন বলে মনে হতে পারে। যাইহোক, আমাদের নখদর্পণে GitHub ক্রিয়াগুলির শক্তির সাথে, অটোমেশন একটি হাওয়া হয়ে যায়। শব্দার্থিক রিলিজ এই নিবন্ধটি একটি বিশদ এবং বিস্তৃত নির্দেশিকা অফার করে, ধাপে ধাপে নির্দেশনা প্রদান করে আপনার ওয়ার্কফ্লোতে সিমান্টিক রিলিজকে নিরবিচ্ছিন্নভাবে একীভূত করার জন্য, বিশেষভাবে যারা পাবলিক নন-স্কোপড প্যাকেজ ব্যবহার করছেন তাদের জন্য তৈরি করা হয়েছে। ডুব দিন এবং সফ্টওয়্যার রিলিজের সুবিন্যস্ত পদ্ধতি আবিষ্কার করুন। আমি যখন আমার তৈরি , আমি NPM-এ এটিকে নির্বিঘ্নে প্রকাশ করতে বাধার সম্মুখীন হয়েছি। সঠিক কনফিগারেশন নিশ্চিত করা একটি চ্যালেঞ্জ ছিল। পাবলিক প্যাকেজ এটি পেরেক দিতে, আসুন পাবলিক প্যাকেজগুলি সঠিকভাবে প্রকাশ করার জন্য ধাপে ধাপে অভিজ্ঞতার মধ্য দিয়ে যাই . এনপিএম বিষয়বস্তু ওভারভিউ প্যাকেজের নাম দিন একটি প্যাকেজ তৈরি করুন প্যাকেজ উৎস টোকেন GitHub অ্যাকশন সেটআপ শব্দার্থিক মুক্তি কমিট ফরম্যাট প্রকাশিত প্যাকেজ উপসংহার প্যাকেজের নাম দিন আমাদের প্যাকেজ বাস্তবায়নে ঝাঁপিয়ে পড়ার আগে, এটির জন্য সঠিক নামটি খুঁজে বের করা ভাল। নামটি ইতিমধ্যে নেওয়া হয়নি তা নিশ্চিত করতে — চেক করুন এবং আপনার প্যাকেজের জন্য এটি নিন। আমি "টোকি" বেছে নিলাম। সেই দিক থেকে, প্যাকেজের নাম সংরক্ষণ করা অসম্ভব। npm-এ নামের জন্য, আপনাকে প্যাকেজটি প্রকাশ করতে হবে। my_package_name একটি প্যাকেজ তৈরি করুন উদ্দেশ্য হল একটি সহজবোধ্য প্যাকেজ তৈরি করা যা কনসোলে সামগ্রী আউটপুট করে। আমাদের নিশ্চিত করতে হবে যে আমরা এটি ইনস্টল করতে পারি এবং এটি চালাতে পারি। বিল্ড প্রক্রিয়ার জন্য, আসুন সহজ ব্যবহার করি . তৈরি করা এই নিবন্ধের সময়, আমি প্যাকেজের নাম ব্যবহার করব । প্রাথমিক তথ্য দিয়ে তৈরি করি। 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 : এতে ফাইল প্যাটার্নের একটি অ্যারে থাকা উচিত যা প্যাকেজটি প্যাক করার সময় অন্তর্ভুক্ত করা হবে এবং পরবর্তীতে npm রেজিস্ট্রিতে প্রকাশিত হবে। files : আমাদের প্যাকেজটি সর্বজনীন হওয়ার উদ্দেশ্যে এটি হিসাবে সেট করা হয়েছে তা নিশ্চিত করুন৷ 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": "antonkalik@gmail.com", "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 কনফিগারেশন এরপরে, গিটহাবে যান এবং একটি নতুন সংগ্রহস্থল স্থাপন করুন। আপনার প্যাকেজের পরে এটির নাম দিন। পরবর্তী কমান্ডগুলি সম্পাদন করে এগিয়ে যান: git init git add . git commit -m "first commit" git branch -M main git remote add origin git@github.com:<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 গোপনীয়তা থেকে আনা হয়, নিশ্চিত করে যে সেগুলি গোপনীয় থাকবে৷ GITHUB_TOKEN NPM_TOKEN সেট করতে, এখানে নেভিগেট করুন: GITHUB_TOKEN https://github.com/settings/tokens একটি ড্রপডাউন ব্যবহার করে টোকেন তৈরি করুন। নতুন ব্যক্তিগত অ্যাক্সেস টোকেনে ক্লিক করুন (ক্লাসিক) এবং ছবির মতো অনুমতি সেট করুন। নীচে দেখানো হিসাবে আপনার প্যাকেজ নাম ব্যবহার করুন: একবার তৈরি হয়ে গেলে, টোকেন মানটি অনুলিপি করুন এবং এটি গোপনীয় রাখুন — এটি অন্যদের সাথে শেয়ার না করা গুরুত্বপূর্ণ। সাময়িকভাবে এই টোকেনটি নিরাপদে সংরক্ষণ করুন, কারণ শব্দার্থিক রিলিজ CLI-এর জন্য আমাদের শীঘ্রই এটির প্রয়োজন হবে। জেনারেট করতে আপনার প্রথমে একটি অ্যাকাউন্ট চালু করতে হবে৷ . আপনি যদি এখনও নিবন্ধন না করে থাকেন তবে নিবন্ধন প্রক্রিয়ার মাধ্যমে যান। এর পরে, নেভিগেট করুন: NPM_TOKEN npm এর অফিসিয়াল ওয়েবসাইট https://www.npmjs.com/settings/<your_user_name>/tokens/new এবং "প্রকাশ" বিকল্পের সাথে একটি "ক্লাসিক" টোকেন তৈরি করুন। টোকেনের উত্পন্ন মান অনুলিপি করুন এবং GitHub গোপনীয়তায় নেভিগেট করুন: https://github.com/<your_user_name>/<your_repo_name>/settings/secrets/actions/new এবং সংগ্রহস্থলের গোপনীয়তায় হিসাবে নতুন গোপন রাখুন: NPM_TOKEN আমাদের গোপনীয়তাগুলি এখন সেট আপ করার সাথে, আমরা গিটহাব অ্যাকশনগুলি কনফিগার করতে পারি। GitHub অ্যাকশন সেটআপ আমাদের প্রক্রিয়াগুলি স্বয়ংক্রিয় করতে, আমরা গিটহাব অ্যাকশন ব্যবহার করতে যাচ্ছি। এটি একটি টুল যা GitHub-এর মধ্যে সংহত। এটি ডেভেলপারদের তাদের গিটহাব রিপোজিটরি থেকে সরাসরি ওয়ার্কফ্লো স্বয়ংক্রিয় করতে দেয়, যেমন অ্যাপ্লিকেশন তৈরি করা, পরীক্ষা করা এবং স্থাপন করা। YAML ফাইলগুলিতে ওয়ার্কফ্লোগুলি সংজ্ঞায়িত করে, ব্যবহারকারীরা নির্দিষ্ট ইভেন্টগুলির উপর ভিত্তি করে কাজগুলি ট্রিগার করতে পারে যেমন পুশ এবং পুল অনুরোধ বা নির্ধারিত সময়ের, সফ্টওয়্যার বিকাশ প্রক্রিয়াটিকে আরও দক্ষ এবং স্বয়ংক্রিয় করে তোলে। CI/CD শুরু করতে, আপনার প্রকল্পের মূলে একটি ডিরেক্টরি তৈরি করুন। এই ডিরেক্টরির মধ্যে, একটি সাবফোল্ডার স্থাপন করুন। .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.json repository "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 এ নেভিগেট করুন এবং GitHub ক্রিয়াকলাপ পড়তে এবং লিখতে উভয়ের অনুমতি দেওয়ার জন্য অনুমতিগুলি কনফিগার করুন। একটি গুরুত্বপূর্ণ পদক্ষেপ, প্রায়শই বেশিরভাগ রেফারেন্সে উপেক্ষা করা হয়, কর্মপ্রবাহের অনুমতিগুলি সেট করা হয়। https://github.com/<your_user_name>/tokky/settings/actions এর পরে, আসুন কিছু পরিবর্তন করি। একটি নির্দিষ্ট কীওয়ার্ড দিয়ে প্রতিশ্রুতিবদ্ধ, , আপনার বার্তা অনুসরণ করুন। feat: git add . && git commit -m "feat: my feature commit" && git push আপনি কি এর মধ্যে স্মরণ করেন? এই নিয়মগুলি নির্দেশ করে যে আমরা কীভাবে আমাদের প্যাকেজ প্রকাশের সংস্করণ বৃদ্ধি করি। এটির সাথে, আপনি বিশেষ কীওয়ার্ড যেমন , , , ইত্যাদি ব্যবহার করে একটি পুল অনুরোধ তৈরি করতে পারেন। একবার এই পুল অনুরোধটি অনুমোদিত হয়ে গেলে এবং পরবর্তীতে প্রধান শাখায় একত্রিত হলে, এটি একটি ট্রিগার শুরু করবে। এই ট্রিগার তারপর GitHub অ্যাকশন সক্রিয় করে, রিলিজ প্রক্রিয়া স্বয়ংক্রিয় করে এবং নিশ্চিত করে যে আপনার প্যাকেজ নির্বিঘ্নে আপডেট করা হয়েছে। package.json releaseRules feat fix refactor প্রকাশিত প্যাকেজ প্যাকেজটি সফলভাবে প্রকাশিত হয়েছে, এবং সম্পূর্ণ প্রক্রিয়াটি দক্ষতার জন্য স্বয়ংক্রিয়ভাবে করা হয়েছে। প্রকাশনা নিশ্চিত করতে, আপনার npm সেটিংসে যান এবং প্যাকেজ বিভাগের নীচে দেখুন; সেখানে, আপনি আপনার সদ্য প্রকাশিত প্যাকেজ পাবেন। https://www.npmjs.com/settings/<your_user_name>/packages এখন, এর মতো একটি সাধারণ কমান্ডের সাহায্যে আপনি আমাদের ডেভেলপমেন্ট পরীক্ষার ফলাফল অবিলম্বে দেখতে পাবেন। উপরন্তু, প্যাকেজটি কমান্ড ব্যবহার করে বিশ্বব্যাপী ইনস্টল করা যেতে পারে। npx your_package_name hi npm i -g your_package_name উপসংহার আমরা এই নিবন্ধটি জুড়ে দেখেছি, যদিও প্রাথমিক সেটআপগুলি চ্যালেঞ্জের সাথে ধাঁধাঁযুক্ত হতে পারে, পুরস্কারটি একটি সুবিন্যস্ত এবং সামঞ্জস্যপূর্ণ রিলিজ প্রক্রিয়া প্রতিষ্ঠার মধ্যে রয়েছে। গিটহাব অ্যাকশনগুলি ব্যবহার করা এই জটিলতাগুলিকে সরল করে, ডেভেলপাররা যৌক্তিক জটিলতার পরিবর্তে কোডের মানের উপর ফোকাস করতে পারে তা নিশ্চিত করে। আপনি সবেমাত্র পাবলিক প্যাকেজ নিয়ে আপনার যাত্রা শুরু করছেন বা আপনার প্রকাশনার প্রচেষ্টায় বাধার সম্মুখীন হয়েছেন কিনা, একটি কাঠামোগত, স্বয়ংক্রিয় কর্মপ্রবাহ গ্রহণ করার ক্ষেত্রে অনস্বীকার্য মূল্য রয়েছে। সিমেন্টিক রিলিজকে একীভূত করার মাধ্যমে, আপনি ধারাবাহিক সংস্করণ নিশ্চিত করছেন এবং সফ্টওয়্যার বিকাশের জন্য একটি ভবিষ্যত-অগ্রগতি পদ্ধতিকে চ্যাম্পিয়ন করছেন। এখানে নিরবচ্ছিন্ন প্রকাশনা, কম মাথাব্যথা, এবং কোডটি নিখুঁত করতে আরও বেশি সময় ব্যয় করা হয়েছে যা আমাদের ডিজিটাল বিশ্বকে এগিয়ে নিয়ে যায়। মনে রাখবেন, এবং উভয়কেই GitHub অ্যাকশনের মধ্যে উপযুক্ত অনুমতি দেওয়া অপরিহার্য। উপরন্তু, আপনার অ্যাক্সেসের জন্য সেটিংসের সাথে সঠিকভাবে কনফিগার করা উচিত এবং নিশ্চিত করা উচিত যে কনফিগারটি তে সেট করা আছে। আপনি যদি কোনো সমস্যার সম্মুখীন হন বা অন্তর্দৃষ্টি থাকে, অনুগ্রহ করে মন্তব্য করতে দ্বিধা করবেন না। NPM_TOKEN GITHUB_TOKEN package.json publishConfig private false তথ্যসূত্র সংগ্রহস্থল: শব্দার্থিক রিলিজ CLI: প্রতিশ্রুতিবদ্ধ: https://github.com/antonkalik/tokky https://github.com/semantic-release/cli https://github.com/commitizen/cz-cli এছাড়াও প্রকাশিত. এখানে ধন্যবাদ হারপার রবিবার সীসা ইমেজ জন্য Unsplash থেকে.