কম্পিউটার টিউটোরিয়াল

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

যখন আপনি আপনার ব্যাকএন্ড API এবং ফ্রন্টএন্ড স্থাপনার জন্য একাধিক পরিবেশ সহ একটি প্রকল্পে কাজ করছেন - যেমন স্টেজিং এবং প্রোডাকশন, আপনি আপনার সংগ্রহস্থলে প্রতিটি শাখার জন্য সঠিক কনফিগারেশন এবং কমান্ড আছে তা নিশ্চিত করতে চাইবেন৷

এটি এমন পরিস্থিতিতে ভয়ঙ্কর হতে পারে যেখানে একাধিক বিকাশকারী সক্রিয়ভাবে একটি কোডবেসে কাজ করছে, বিভিন্ন শাখায় পরিবর্তন করছে বা একাধিক শাখা-নির্দিষ্ট কনফিগারেশন পরিচালনা করছে।

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

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

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

আমরা যা কভার করব:

  • প্রকল্পের কাঠামো এবং দৃশ্যকল্প

  • পুনঃনির্দেশ/পুনঃলিখন কি?

  • কিভাবে Netlify প্রসেস রিডাইরেক্ট করে

    • _রিডাইরেক্ট ফাইল সিনট্যাক্স ব্যবহার করে

    • netlify.toml কনফিগারেশন ফাইল সিনট্যাক্স ব্যবহার করে

  • সমস্যা:বিভিন্ন শাখার জন্য একাধিক netlify.toml ফাইল পরিচালনা করা

  • আমাদের কনফিগারেশন ফাইল(গুলি) স্বয়ংক্রিয়ভাবে তৈরি করতে স্ক্রিপ্টটি কীভাবে লিখবেন

    • নমুনা Netlify.toml ফাইল

    • ধাপ 1:স্ক্রিপ্ট ফোল্ডার তৈরি করুন এবং স্ক্রিপ্ট ফাইল যোগ করুন

    • ধাপ 2:স্ক্রিপ্ট কমান্ড অন্তর্ভুক্ত করতে package.json পরিবর্তন করুন

  • নেটলিফাইতে কীভাবে আমাদের ক্লায়েন্ট স্থাপন করবেন

    • Netlify

      এ আপনার প্রকল্পের প্রথম স্থাপনা
    • পরবর্তী স্থাপনা / কিভাবে শাখা স্থাপনা সেট আপ করতে হয়

      • ধাপ 1:প্রতিটি শাখার প্রেক্ষাপটের জন্য Netlify-এ এনভায়রনমেন্ট ভেরিয়েবল সেট আপ করুন — উৎপাদন, স্টেজিং এবং আরও কিছু

      • ধাপ 2:একটি নতুন স্থাপনা ট্রিগার করুন

  • আপনার স্থাপনা পরিদর্শন করুন

  • উপসংহার

প্রকল্পের কাঠামো এবং দৃশ্যকল্প

এমন একটি পরিস্থিতি বিবেচনা করুন যেখানে আপনার কাছে একটি প্রকল্পের জন্য দুটি পৃথক সার্ভার স্থাপন করা আছে:একটি স্টেজিং পরিবেশে অনুরোধগুলি পরিবেশন করার জন্য (রেন্ডারে স্থাপন করা হয়েছে), এবং অন্যটি উত্পাদন পরিবেশে (Google ক্লাউড রানে স্থাপন করা হয়েছে)৷

Netlify-এ আপনার দুটি পৃথক ক্লায়েন্ট স্থাপনা রয়েছে, প্রতিটি তাদের নিজ নিজ API_BASE_URL সহ, যেগুলি তাদের নিজ নিজ সার্ভার দ্বারা পরিবেশিত হয় যেমন নীচে চিত্রিত হয়েছে:

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

নীচের ছবিটি একটি sample-project সংগ্রহস্থল, api সহ এবং client এর মধ্যে ফোল্ডার/ডিরেক্টরি। এটি উপরে বর্ণিত প্রতিটি শাখার কাঠামোর একটি ওভারভিউ। প্রতিটি ডিরেক্টরির নিজস্ব package.json থাকে ফাইল, একটি স্বাধীন উপাদান হিসাবে বিবেচিত হয়, এবং দুটি পৃথক পরিষেবাতে স্থাপন করা যেতে পারে৷

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

প্রতিটি ক্লায়েন্টের জন্য আপনার ফ্রন্টএন্ড ডিপ্লোয়মেন্টে, /api/v1/ দিয়ে শুরু হওয়া এন্ডপয়েন্টগুলিতে আপনার সমস্ত অনুরোধ করা হয়েছে সার্ভারে রাউট করা হয়। অন্যান্য রুটগুলি আপনাকে ক্লায়েন্টের মধ্যে পৃষ্ঠাগুলিতে নির্দেশ করার জন্য ফ্রন্টএন্ডের মধ্যে থাকে। সুতরাং এই অনুরোধগুলি কীভাবে প্রক্রিয়া করা যায় সে সম্পর্কে আপনার ক্লায়েন্টকে গাইড করার জন্য আপনাকে সঠিক নিয়ম লিখতে হবে। এগুলোকে বলা হয় পুনঃনির্দেশিত নিয়ম বা পুনর্লিখন।

পুনঃনির্দেশ/পুনঃলিখন কি?

পুনঃনির্দেশ, বা পুনঃলিখন, এমন নিয়ম যা আপনি তৈরি করতে পারেন যাতে নির্দিষ্ট ইউআরএলগুলি স্বয়ংক্রিয়ভাবে ইন্টারনেটের যেকোনো জায়গায় একটি নতুন অবস্থানে যায় (উৎস:WPengine)। এগুলি সাধারণত URL ফরওয়ার্ডিং নামেও পরিচিত৷ এবং আপনি সেগুলিকে যে কোনও জায়গায় ব্যবহার করতে পারেন – সম্পূর্ণ ওয়েবসাইট, একটি ওয়েবসাইটের বিভাগ বা একটি সম্পূর্ণ ওয়েব অ্যাপ্লিকেশন৷

ওয়েব অ্যাপ্লিকেশনগুলিতে, রিডাইরেক্টগুলি প্রায়শই কীভাবে অনুরোধগুলি প্রক্রিয়া করতে হয় তা নির্ধারণ করতে ব্যবহার করা হয়। Netlify এবং Vercel এর মতো ওয়েব হোস্টিং প্ল্যাটফর্মগুলিও সেগুলি ব্যবহার করে, ডেভেলপারদের তাদের ওয়েব অ্যাপ্লিকেশনগুলি কীভাবে অনুরোধ প্রক্রিয়া করে তা নির্ধারণ করার বিকল্প দেয়৷

কিভাবে নেটলিফাই প্রসেস রিডাইরেক্ট করে

রিডাইরেক্ট নিয়ম নির্দিষ্ট করার জন্য Netlify এর দুটি সম্ভাব্য উপায় রয়েছে। আপনি _redirects ব্যবহার করে এটি করতে পারেন ফাইল সিনট্যাক্স বা netlify.toml ব্যবহার করে কনফিগারেশন ফাইল সিনট্যাক্স। তারা একই লক্ষ্য অর্জন করে, কিন্তু netlify.toml সিনট্যাক্স আপনাকে আরও বিকল্প এবং ক্ষমতা দেয়৷

_redirects ব্যবহার করা ফাইল সিনট্যাক্স

আপনি যদি পুনঃনির্দেশ সিনট্যাক্স ব্যবহার করতে বেছে নেন, তাহলে আপনাকে কেবল একটি _redirects তৈরি করতে হবে আপনার ক্লায়েন্ট অ্যাপের সর্বজনীন ফোল্ডারে ফাইল করুন এবং এর মধ্যে পুনঃনির্দেশের নিয়মগুলি নির্দিষ্ট করুন। এটি পাওয়া হিসাবে এটি সহজ। নীচে ফাইলের মধ্যে একটি পুনঃনির্দেশ নিয়মের একটি উদাহরণ:

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

উপরের নিয়মটিকে এভাবে ব্যাখ্যা করা যেতে পারে:

  1. /api/v1 মেলে আমার সমস্ত অনুরোধ পাঠান নির্দিষ্ট API URL-এ, এবং একটি 200 সাফল্যের স্থিতি কোড ফেরত দিন। /api/v1/ এর পরে তারকাচিহ্ন (*) যেমন /api/v1/* এ দেখা যায় উল্লিখিত API URL-এ মূল URL-এর অন্য কোনো এক্সটেনশন যুক্ত করার জন্য এটিকে নির্দেশ দিন। উদাহরণস্বরূপ, যদি আপনার একটি /api/v1/users থাকে আপনার ফ্রন্টএন্ডে রুট, সেই অনুরোধটি https://your-api-base-url.com/api/v1/users-এ পুনঃনির্দেশিত হবে . :splat API URL-এ দেখা যায় কেবল একটি স্থানধারক৷

  2. index.html ফোল্ডারের মাধ্যমে অন্য সব ডিফল্ট রুট পরিবেশন করুন। আপনি অন্য পৃষ্ঠাগুলিতে নেভিগেট করার সময় এবং "ব্যাক" বোতাম ব্যবহার করে পূর্ববর্তী পৃষ্ঠাটি দেখার চেষ্টা করার সময় আপনি ভাঙা পৃষ্ঠাগুলির সম্মুখীন না হন তা নিশ্চিত করার জন্য এটি প্রয়োজনীয়৷

netlify.toml ব্যবহার করা কনফিগারেশন ফাইল সিনট্যাক্স

netlify.toml মূল অনুরোধের রুট, প্রয়োজনীয় গন্তব্য, পছন্দের স্ট্যাটাস কোড প্রতিক্রিয়া, শিরোনামের নিয়ম, স্বাক্ষর, দেশের বিধিনিষেধ, ভূমিকা এবং আরও অনেক কিছুর সাথে মেলে কিন্তু সীমাবদ্ধ নয়, পুনঃনির্দেশিত নিয়মগুলি নির্দিষ্ট করার সময় কনফিগারেশন ফাইল আপনাকে অনেক বেশি নমনীয়তা দেয়৷

এটি একটি নমুনা netlify.toml Netlify এর ডকুমেন্টেশন থেকে প্রাপ্ত ফাইল:

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

দ্রুত নোট: আমাদের এপিআইতে নির্দিষ্ট অনুরোধগুলি পুনঃনির্দেশ করার জন্য পুনঃনির্দেশ ফাইল ব্যবহার করা পুরোপুরি সূক্ষ্ম। কিন্তু রিডাইরেক্ট-এ প্লেইন টেক্সটে আমাদের API URL যোগ করাকে নিরাপত্তা ঝুঁকি হিসেবে বিবেচনা করা যেতে পারে। ফাইল যদি API_BASE_URL ব্যক্তিগত বলে মনে করা হয়। এর কারণ হল পাবলিক ফোল্ডারে থাকা যেকোন ফাইলের মতো শোনায় – সর্বজনীন – এবং যে কেউ এটি অ্যাক্সেস করতে পারে।

আপনার অ্যাপে আপনি যে সরাসরি অবস্থানগুলি পেতে চান তা যদি সর্বজনীন URL হয়, তাহলে নির্দ্বিধায় _redirects ব্যবহার করুন ফাইল সিনট্যাক্স। কিন্তু আপনি যদি একটি netlify.toml ব্যবহার করে একটি ব্যক্তিগত URL(গুলি) রাখতে পছন্দ করেন এনভায়রনমেন্ট ভেরিয়েবলের সাথে কনফিগারেশন ফাইল সাধারণত একটি ভাল ধারণা।

সমস্যা:একাধিক netlify.toml পরিচালনা করা বিভিন্ন শাখার জন্য ফাইল

আপনি যখন netlify.toml ব্যবহার করেন আপনার বিল্ড কমান্ড এবং পরিবেশ-নির্দিষ্ট সেটিংস সংজ্ঞায়িত করার জন্য ফাইল, এবং আপনি পরিবর্তনগুলি করেন যা আপনার সংগ্রহস্থলে ঠেলে দেওয়া হয় এবং পুল অনুরোধগুলি খুলতে হয়, আপনাকে প্রতিটি netlify.toml ম্যানুয়ালি উপেক্ষা বা সম্পাদনা করতে হবে প্রতিটি শাখায়। এটি অবশেষে খুব চাপযুক্ত এবং ত্রুটির জন্য সংবেদনশীল হয়ে ওঠে।

এর পাশাপাশি, আমরা আমাদের API URLগুলিকে আমাদের _redirects-এ হার্ডকোড করা এড়াতে চাই অথবা netlify.toml নিরাপত্তার কারণে আমাদের প্রকল্প কোডবেসের মধ্যে ফাইল করুন। উৎপাদন এবং স্টেজিং প্রেক্ষাপটের জন্য আমরা আমাদের Netlify UI এর মধ্যে দেওয়া পরিবেশের ভেরিয়েবল ব্যবহার করব।

উপরের সমস্যাগুলি এড়াতে, সঠিক netlify.toml গতিশীলভাবে তৈরি করতে আমরা আমাদের কোডবেসে একটি ছোট স্ক্রিপ্ট ব্যবহার করব প্রতিটি শাখার জন্য ফাইল। এই পদ্ধতিটি দ্বন্দ্ব দূর করে এবং শাখাগুলির মধ্যে স্যুইচ করার সময় বা পুল অনুরোধগুলি পরিচালনা করার সময় ম্যানুয়াল হস্তক্ষেপের প্রয়োজনীয়তা দূর করে৷

আমাদের কনফিগারেশন ফাইল(গুলি) স্বয়ংক্রিয়ভাবে তৈরি করতে স্ক্রিপ্টটি কীভাবে লিখবেন

নমুনা Netlify.toml ফাইল

নীচে netlify.toml একটি নমুনার একটি স্ক্রিনশট রয়েছে৷ ফাইল আমরা প্রতিটি বিল্ডের জন্য অর্জন করার চেষ্টা করছি। আপনি দেখতে পাচ্ছেন যে আমাদের সমস্ত অনুরোধ যা api/v1/ এর সাথে মেলে আমাদের কোডবেসে আমাদের API এ রাউট করা হবে।

আপনি আপনার API এন্ডপয়েন্ট অনুরোধগুলিকে আলাদাভাবে গঠন করতে পারেন, উদাহরণস্বরূপ /api/your-endpoint - শুধু সেই অনুযায়ী স্ক্রিপ্ট সামঞ্জস্য নিশ্চিত করুন. এই নমুনা প্রকল্পে, আমরা api/v1/your-endpoint ব্যবহার করি আমাদের কাঠামো হিসাবে।

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

ধাপ 1:স্ক্রিপ্ট ফোল্ডার তৈরি করুন এবং স্ক্রিপ্ট ফাইল যোগ করুন

client-এ ডিরেক্টরি, একটি scripts/ তৈরি করুন ডিরেক্টরি এবং একটি configure-netlify.sh স্ক্রিপ্ট ফাইল। আপনার রেপোতে প্রতিটি শাখার জন্য আপনাকে এটি করতে হবে। বিষয়বস্তু একই থাকে।

configure-netlify.sh খুলুন স্ক্রিপ্ট ফাইল এবং এর মধ্যে নিম্নলিখিত বিষয়বস্তু পেস্ট করুন:

#!/bin/bash
# Ensure API_BASE_URL is set
if [ -z "$API_BASE_URL" ]; then
 echo "Error: API_BASE_URL environment variable is not set."
 exit 1 # Exit the script to stop the deployment
fi
echo "Using API endpoint: $API_BASE_URL"
# Define the desired Netlify configuration
NETLIFY_CONFIG="
[build]
 command = \"npm install && npm run build\"
 base = \"client\"
 publish = \"dist\"
[[redirects]]
 from = \"/api/v1/*\"
 to = \"$API_BASE_URL/:splat\"
 status = 200
 force = true
[[redirects]]
 from = \"/*\"
 to = \"/index.html\"
 status = 200
"
# Create or update the netlify.toml file
if [ ! -f "netlify.toml" ]; then
 echo "Creating netlify.toml file..."
else
 echo "Updating existing netlify.toml file..."
fi
echo "$NETLIFY_CONFIG" > netlify.toml
# Confirm successful configuration
echo "netlify.toml file has been configured successfully!"

স্ক্রিপ্ট নিম্নলিখিত কাজ করে:

  1. এটি API_BASE_URL নিশ্চিত করতে পরিবেশের ভেরিয়েবল পরীক্ষা করে সেট করা হয় এটি সেট না থাকলে, এটি বিল্ড থেকে প্রস্থান করে এবং এটিকে ব্যর্থ করে দেয়। আপনি যাতে ভুলবশত একটি সফল স্থাপনা তৈরি না করেন কিন্তু প্রোডাকশনে অবৈধ URL গুলি তৈরি করেন তা নিশ্চিত করার জন্য আমরা এটি করেছি৷

  2. এটি তারপর netlify.toml এর বিষয়বস্তু তৈরি করে উপরের নমুনায় দেখানো ফাইলটি। যদি আপনার API এন্ডপয়েন্টগুলি api/v1/your-endpoint থেকে একটি ভিন্ন কাঠামো ব্যবহার করে , আপনি আপনার পছন্দসই কাঠামোর সাথে মানানসই স্ক্রিপ্ট সামঞ্জস্য করতে পারেন।

  3. এটি আগে থেকেই netlify.toml আছে কিনা তা পরীক্ষা করে ফাইল যদি এটি বিদ্যমান না থাকে তবে এটি একটি তৈরি করে এবং এতে বিষয়বস্তু লেখে। এটি বিদ্যমান থাকলে, এটি API_BASE_URL ব্যবহার করে বিল্ড করার সময় সঠিক বিষয়বস্তুর সাথে আপডেট করে। এনভায়রনমেন্ট ভেরিয়েবলে সেট করুন।

ধাপ 2:package.json পরিবর্তন করুন স্ক্রিপ্ট কমান্ড অন্তর্ভুক্ত করতে

এই স্ক্রিপ্টটিকে আপনার বিল্ড প্রক্রিয়ার সাথে একীভূত করতে, আমরা package.json-এ একটি স্ক্রিপ্ট কমান্ড যোগ করব প্রকৃত বিল্ড চালানোর আগে এই স্ক্রিপ্টটি কল করার জন্য ফাইল।

configure-netlify যোগ করুন নিম্নরূপ কমান্ড:"configure-netlify": "bash scripts/ configure-netlify.sh" আপনার package.json-এর স্ক্রিপ্টগুলির মধ্যে ফাইল।

প্রকৃত বিল্ড চালানোর আগে স্ক্রিপ্ট চালানোর জন্য আপনার বিল্ড কমান্ড আপডেট করুন:"build": "npm run configure-netlify && vite build" .

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

এই পরিবর্তনগুলি সংরক্ষণ করতে ভুলবেন না এবং সেগুলিকে আপনার দূরবর্তী সংগ্রহস্থলে ঠেলে দিন৷

Netlify করার জন্য আমাদের ক্লায়েন্টকে কীভাবে স্থাপন করবেন

Netlify-এ আমাদের ক্লায়েন্ট স্থাপন করার সময়, আমাদের তিনটি বিকল্প দেওয়া হয়:

  1. একটি বিদ্যমান প্রকল্প আমদানি করা (অর্থাৎ, একটি প্রকল্প যা গিটহাব এবং গিটল্যাবের মতো গিট রিপোজিটরি পরিষেবাতে বিদ্যমান),

  2. একটি টেমপ্লেট থেকে আমদানি করা, অথবা

  3. Netlify ড্রপ (ড্র্যাগ এবং ড্রপ) ইন্টারফেস ব্যবহার করে ম্যানুয়ালি একটি স্ট্যাটিক সাইট স্থাপন করা।

আমাদের বিল্ড প্রক্রিয়া চলাকালীন প্রত্যাশিতভাবে কাজ করার জন্য আমাদের সংগ্রহস্থলের কনফিগারেশনের জন্য, আপনাকে এমন বিকল্পটি ব্যবহার করতে হবে যা গিটহাবের মতো একটি বিদ্যমান প্রকল্প থেকে আমদানি করতে হবে। ড্র্যাগ-এন্ড-ড্রপ ইন্টারফেস ব্যবহার করে কাজ হবে না। আপনি যদি এটি ব্যবহার করতে চান, তাহলে _redirects বেছে নিন আপনার পুনঃনির্দেশ সংজ্ঞায়িত করার জন্য ফাইল সিনট্যাক্স বিকল্প।

নেটলিফাইতে আপনার প্রকল্পের প্রথম স্থাপনা

প্রথমবারের জন্য আপনার প্রকল্প স্থাপন করার সময়, আপনাকে প্রাথমিকভাবে শুধুমাত্র একটি শাখা স্থাপনের বিকল্প দেওয়া হয়। আপনি শুধুমাত্র পরবর্তী স্থাপনায় অন্যান্য বিকল্পগুলি যেমন অন্যান্য শাখাগুলি যোগ করতে এবং নির্দিষ্ট করতে পারেন৷

আপনার প্রকল্প স্থাপন করতে, নিম্নলিখিত পদক্ষেপগুলি নিন:

  1. Netlify> netlify.com

    এ সাইন ইন করুন
  2. "নতুন সাইট যোগ করুন"> "একটি বিদ্যমান প্রকল্প আমদানি করুন"> "গিটহাবের সাথে স্থাপন করুন"

    এ ক্লিক করুন
  3. "গিটহাবে নেটলিফাই কনফিগার করুন" ক্লিক করুন> আপনার সংগ্রহস্থলের জন্য অনুসন্ধান করুন> এটি নির্বাচন করুন

  4. আপনার প্রকল্পের জন্য একটি অনন্য সাইটের নাম লিখুন

  5. স্থাপন সেটিংস কনফিগার করুন। এখানে আপনাকে মোতায়েন করার জন্য পছন্দের শাখা নির্বাচন করতে হবে। প্রাথমিক স্থাপনার জন্য, আমরা main স্থাপন করব শাখা যা আমরা উৎপাদন শাখা হিসাবে ব্যবহার করি।

    • শাখা:প্রধান/মাস্টার

    • বিল্ড কমান্ড:npm run build

    • ডিরেক্টরি প্রকাশ করুন:dist (আপনার স্ট্যাটিক ফাইল যেখানে থাকে সেই ডিরেক্টরিটি নির্বাচন করুন। এই নমুনা প্রকল্পে, এটি dist-এ রপ্তানি করা হয় ডিরেক্টরি কিছু টুল build-এ রপ্তানি করে )

  6. আপনার প্রকল্পের জন্য পরিবেশ ভেরিয়েবল লিখুন. আপনার API_BASE_URL লিখতে ভুলবেন না আপনার সার্ভার থেকে। ব্যাশ স্ক্রিপ্ট অনুযায়ী এটি একটি অপরিহার্য প্রয়োজন।

  7. "সাইট স্থাপন করুন"

    এ ক্লিক করুন

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

আপনার প্রকল্প সঠিকভাবে স্থাপন করা উচিত এবং আপনি netlify.toml দেখতে সক্ষম হবেন সফল স্থাপনার পৃষ্ঠার নীচে স্থাপনার বিশদ পরিদর্শন করে স্ক্রিপ্ট দ্বারা তৈরি করা কনফিগারেশন৷

কনফিগারেশন জেনারেট করা দেখতে আপনি এই ফাইলটি আপনার স্থানীয় মেশিনে ডাউনলোড করতে পারেন। এটি netlify.toml নমুনার সাথে মেলে উপরে ফাইল। এছাড়াও আপনি পরীক্ষা করতে পারেন যে এটি আপনার তৈরি করা সাইটের লিঙ্ক ব্যবহার করে কাজ করে।

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

পরবর্তী স্থাপনা / কিভাবে শাখা স্থাপনা সেট আপ করবেন

ধাপ 1:Netlify-এ এনভায়রনমেন্ট ভেরিয়েবল সেট আপ করুন প্রতিটি শাখা প্রসঙ্গ——উৎপাদন, স্টেজিং, ইত্যাদির জন্য

আপনার প্রকল্প সফলভাবে স্থাপন করা হলে, আপনি আপনার স্টেজিং শাখার জন্য স্থাপনা সেট আপ করতে পারেন। কনফিগারেশন সম্পাদনা করতে, আপনাকে করতে হবে:

  1. আপনার সাইটের তালিকায় নেভিগেট করুন

  2. আপনার সফলভাবে স্থাপন করা সাইট নির্বাচন করুন

  3. বাম মেনুতে "সাইট কনফিগারেশন" এ ক্লিক করুন

  4. "এনভায়রনমেন্ট ভেরিয়েবল" নির্বাচন করুন> "একটি ভেরিয়েবল যোগ করুন" বোতামে ক্লিক করুন।

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

আপনাকে পৃথকভাবে ভেরিয়েবল যোগ করার বা সম্পূর্ণ .env আমদানি করার বিকল্প দেওয়া হবে ফাইল আপনি যেকোনো একটি বিকল্প বেছে নিতে পারেন। নীচের ছবিতে, আমি "একটি .env থেকে আমদানি নির্বাচন করেছি৷ ফাইল”।

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

আমাদের উৎপাদন সাইট, main থেকে মোতায়েন করা হয়েছে তা দেখে শাখা (উৎপাদন পরিবেশগত ভেরিয়েবল সহ), ইতিমধ্যেই স্থাপন করা হয়েছে, আপনার প্রয়োজন হবে:

  1. উৎপাদন শাখা থেকে টিক চিহ্ন মুক্ত করুন (প্রাথমিকভাবে মোতায়েন করা প্রধান শাখা প্রতিস্থাপন প্রতিরোধ করতে। বিভিন্ন শাখার জন্য আপনার পরিবেশের ভেরিয়েবলগুলি মিশ্রিত না করার বিষয়ে সতর্ক থাকুন)

  2. "শাখা স্থাপন" নির্বাচন করুন

  3. ইনপুট বিভাগে আপনার .env ফাইলের বিষয়বস্তু কপি এবং পেস্ট করুন

  4. API_BASE_URL যোগ করতে ভুলবেন না আপনার স্টেজিং পরিবেশের জন্য পরিবেশ পরিবর্তনশীল

উল্লেখ্য যে শাখা স্থাপনা নির্বাচন করার সময়, এখানে আমদানি করা পরিবেশের ভেরিয়েবল উৎপাদন শাখা ব্যতীত সকল শাখা স্থাপনকে প্রভাবিত করবে। আপনি একটি কাস্টম শাখা নির্বাচন করে আপনার প্রসঙ্গগুলিকে আরও কাস্টমাইজ করতে পারেন, তবে এটি একটি সম্পূর্ণ ভিন্ন পদ্ধতি যার জন্য আপনাকে আপনার netlify.toml আরও কাস্টমাইজ করতে হবে কনফিগারেশন ফাইল বা ব্যাশ স্ক্রিপ্ট।

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

আপনি যদি প্রতিটি এনভায়রনমেন্ট ভেরিয়েবল পৃথকভাবে আমদানি করার সিদ্ধান্ত নেন, তাহলে আপনাকে নিচের মত একটি অনুরূপ বিকল্প দেওয়া হবে। নিশ্চিত করুন যে আপনি প্রতিটি শাখার জন্য সঠিক প্রসঙ্গ নির্বাচন করেছেন।

সমস্ত প্রসঙ্গের জন্য একই মানগুলি ব্যবহার করবেন না৷ নীচের ছবিতে যেমন দেখা যাচ্ছে, “প্রতিটি স্থাপনের প্রেক্ষাপটের জন্য আলাদা মান নির্বাচন করা ” আপনাকে প্রতিটির জন্য মান নির্ধারণ করার অনুমতি দেবে। এই ক্ষেত্রে, আমরা শাখা স্থাপনের জন্য মানগুলি সংজ্ঞায়িত করি। আপনার প্রাথমিকভাবে ব্যবহৃত উৎপাদন ভেরিয়েবল ইতিমধ্যেই বিদ্যমান থাকা উচিত।

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

যখন সমস্ত ভেরিয়েবল আমদানি করা হয়, আপনি প্রতিটি ভেরিয়েবলের পাশে ডানদিকে ড্রপডাউন নির্বাচন করে এবং তাদের মানগুলি পরিদর্শন করে নিশ্চিত করতে তাদের সঠিকভাবে আমদানি করা হয়েছে কিনা তা পরীক্ষা করতে পারেন৷

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

ধাপ 2:একটি নতুন স্থাপনা ট্রিগার করুন

যখন আপনার সমস্ত এনভায়রনমেন্ট ভেরিয়েবল বিভিন্ন প্রেক্ষাপটের জন্য আমদানি করা হয়েছে - এই ক্ষেত্রে উত্পাদন এবং স্টেজিং - আপনার স্ক্রিনের বাম প্যানেলে "ডিপ্লয়" এ নেভিগেট করুন। তারপর "ট্রিগার স্থাপন" বোতাম টিপুন, ক্যাশে সাফ করুন এবং একটি নতুন স্থাপনা শুরু করুন৷

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

আপনার স্থাপনা পরিদর্শন করুন

আপনি নিশ্চিত করতে পারেন যে আপনার স্ক্রিপ্ট প্রত্যাশিতভাবে কাজ করছে যে কোনো স্থাপনা নির্বাচন করে এবং "ডিপ্লয় লগ"-এ বিল্ডিং ড্রপডাউন নির্বাচন করে। আপনি কমান্ড রান দেখতে পাবেন, সেইসাথে সেই স্থাপনার জন্য আপনার আউটপুট এবং API URL, আপনার প্রসঙ্গ দ্বারা সংজ্ঞায়িত করা হয়েছে।

ব্যাশের সাথে স্বয়ংক্রিয় শাখা-নির্দিষ্ট নেটলিফাই কনফিগারেশন - একটি ধাপে ধাপে নির্দেশিকা

উপসংহার

এই গাইডের ধাপগুলি অনুসরণ করে, এবং আপনার রেপোতে প্রতিটি শাখায় আপনার স্ক্রিপ্ট এবং আপডেট করা কমান্ডগুলি ব্যবহার করে, আপনি যখন পরিবর্তনগুলি চাপবেন তখন Netlify স্বয়ংক্রিয়ভাবে netlify.toml তৈরি বা আপডেট করবে। প্রতিটি শাখায় ফাইল। এটি নিশ্চিত করে যে প্রতিটি পরিবেশের জন্য সঠিক কনফিগারেশন এবং এনভায়রনমেন্ট ভেরিয়েবল বিল্ড টাইমে ব্যবহার করা হয়।

আপনার স্ক্রিপ্ট সব শাখা জুড়ে একই থাকে. আপনার স্ক্রিপ্ট নিরাপদে এবং সহজে আপনার জন্য সঠিক কনফিগারেশন পরিচালনা করার সময় এটি আপনাকে অন্যান্য কোড পরিবর্তনগুলিতে ফোকাস করতে দেয়৷

এটিকে কার্যকরভাবে দেখতে যেকোনো শাখায় পরিবর্তনগুলি পুশ করুন৷

টুইটারে (@francisihej) অথবা LinkedIn!

-এ আমার সাথে নির্দ্বিধায় সংযোগ করুন৷

বিনামূল্যে কোড শিখুন. freeCodeCamp-এর ওপেন সোর্স পাঠ্যক্রম 40,000-এরও বেশি লোককে ডেভেলপার হিসেবে চাকরি পেতে সাহায্য করেছে। শুরু করুন


  1. PHP-তে imageflip() ফাংশন

  2. pyDash:ওয়েব-ভিত্তিক লিনাক্স পারফরমেন্স মনিটরিং টুল

  3. কিভাবে Tkinter লেবেল পাঠ্য পেতে?

  4. সাইবার নিরাপত্তার জন্য পাইথন শিখুন:শিক্ষার সংস্থান, লাইব্রেরি এবং প্রাথমিক ধাপ