কোনও ওয়েবসাইটের সংস্করণ নিয়ন্ত্রণ: ডেভ / প্রোডাকশন ফ্রন্ট-এন্ড ফাইল


9

আমি আমাদের ওয়েবসাইট প্রকল্পগুলিকে সংস্করণ নিয়ন্ত্রণ করার আরও ভাল উপায় সম্পর্কে চিন্তা করার চেষ্টা করছি। মনে রাখবেন আমি কেবলমাত্র ফ্রন্ট-এন্ড দেব যাতে আমার কাছে ভিসিএসের গভীর জ্ঞান না থাকে।

কর্মপ্রবাহগুলি পরিবর্তন হচ্ছে এবং অতীতের সংস্করণ নিয়ন্ত্রণের অভ্যাসগুলি অচল হয়ে পড়ে। প্রধান সমস্যাটি হ'ল প্রতিটি ওয়েবসাইটের জন্য ফ্রন্ট-এন্ড ফাইলের 2 টি অ্যারে রয়েছে।

ডেভ এনভায়রনমেন্ট (কম ফাইল, কমপ্রেসড জেএস, ছবি ইত্যাদি)। বিল্ড এনভায়রনমেন্ট, "গল্পাইফাইড" (সমস্ত কিছু সংকুচিত এবং মানুষের দ্বারা পঠনযোগ্য নয়)।

তবে আপনি এর উত্স ফাইল সহ কোনও ওয়েবসাইট বিক্রি করতে পারবেন না। ঠিক আছে, এটা বেশ সঠিক মনে হচ্ছে না।

2 টি রেপো থাকার সমাধান রয়েছে: একটি বিল্ড, একটি ডেভ, গাল্প ডিরেক্টরিটি নির্মাণের জন্য ডেভ ফাইলগুলি প্রেরণ করে। তবে এটি ছোট রাখার মতো সমস্যা বজায় রাখতে আমি ঝামেলা করি that এটি প্রচুর রেপো তৈরি করে এবং লোককে বেশ কয়েকটি রেপো পরিচালনা করতে হয়, কখনও কখনও এমনকি একটি এসএনএন রেপো নিয়েও সমস্যা দেখা দেয়।

সুতরাং 1 টি রেপো থাকার সমাধানও রয়েছে: উত্স ফাইলগুলি এবং একই এসএনএন-র প্রোড ফাইলগুলি। তবে ওয়েবসাইটটি যখন স্থানীয় ডেভ সার্ভার থেকে প্রোডাকশন সার্ভারে যায় তখন উত্স ফাইলগুলি সরানোর প্রয়োজন হয় (সুতরাং কোনও একক সংগ্রহস্থলে বিভিন্ন ফাইল রয়েছে, যার অবস্থান ভিত্তিক, ডেভ বা প্রোডাকশন ..)। যা শুনেছি তা থেকে ভাল লাগেনি

সংস্করণ নিয়ন্ত্রণ সিস্টেমের ক্ষেত্রে একটি ঝিলিকের ফ্রন্ট-এন্ড ওয়ার্কফ্লো পরিচালনা করার সঠিক উপায় কী?

উত্তর:


13

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

সুতরাং আপনার যদি আপনার ডেভ উত্স ফাইলগুলি থেকে উত্পাদনের ফাইলগুলি উত্পন্ন করার জন্য একটি সম্পূর্ণ স্বয়ংক্রিয় প্রক্রিয়া থাকে তবে আপনার কেবলমাত্র ডিভ ফাইলগুলি উত্স নিয়ন্ত্রণের মধ্যে রাখতে হবে (উত্পাদন ফাইলগুলি তৈরি করার জন্য স্ক্রিপ্টগুলির সাথে)। তা না হলে এ জাতীয় প্রক্রিয়া প্রতিষ্ঠা করুন establish উত্স থেকে উত্পন্ন হওয়ার পরে কোনও ফাইলই ম্যানুয়ালি প্রোডাকশন ফাইলগুলির সাথে ঘুরে বেড়াতে হবে তা নিশ্চিত করুন। আপনি যদি আপনার ভিসিএস থেকে "সরাসরি" স্থাপন করতে চান তবে নিশ্চিত করুন যে আপনার কাছে এমন একটি স্থাপনা স্ক্রিপ্ট রয়েছে যা ডেভ উত্স ফাইলগুলিকে উত্স নিয়ন্ত্রণের বাইরে নিয়ে যায়, "গল্পিফিকেশন" করে এবং ফলস্বরূপ ফাইলগুলিকে এক ধাপে উত্পাদনে স্থানান্তর করে।

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

এবং হ্যাঁ, এটি একটি কঠোরভাবে পৃথক, দ্বিতীয় রেপো হওয়া উচিত কারণ এটি আপনার ডেপো রেপো থেকে সম্পূর্ণ ভিন্ন উদ্দেশ্য এবং একটি পৃথক জীবনচক্র। আপনি এটি কেবল ব্যাকআপগুলির জন্য ব্যবহার করেন, উত্স নিয়ন্ত্রণের জন্য নয়, যা একটি ভিন্ন প্রক্রিয়া।


এর অর্থ কী যখন সাইটটি উত্পাদনে যায়, প্রোডাকশন সার্ভার থেকে এটি তৈরি করা দরকার? বা সম্ভবত কেবল বিল্ডটি হোস্ট করুন (যা তখন রূপান্তরিত নয়)
আন্তোনিন সেজার্ড

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

3
আপনার শব্দটি বিভ্রান্তিকর। "শিল্পকলা" প্রায়শই ইনপুট নয়, কম্পাইলার বা জেনারেটরের আউটপুটকে বোঝায় refers
দেনিথ

এটি ঠিক সর্বদা সত্য নয়: বুটস্ট্র্যাপযুক্ত সংকলকগুলির জন্য আপনার উত্পন্ন ফাইলগুলি ভিসিএসের অধীনে লাগাতে হতে পারে। এর সাধারণ উদাহরণ হ'ল ওকামেলের বাইকোড boot/ocamlcবা জিসিসি মেল্ট melt/generated/*.cc ফাইলগুলি
বেসিল স্টারিনকিভিচ

1
@Daenyth: আমি যতদূর জানি শব্দ হস্তনির্মিত বস্তু মানে প্রাথমিকভাবে নিজে সফটওয়্যার উন্নয়ন উত্পাদিত অংশ। আপনি ঠিক বলেছেন যে কিছু প্রসঙ্গে লোকেরা "বিল্ড আর্টফ্যাক্টস" সম্পর্কে কথা বলে, কারণ কম্পাইলার যা উত্পাদন করে তা পরোক্ষভাবে ম্যানুয়াল প্রোগ্রামিং ক্রিয়াকলাপের ফলাফল।
ডক ব্রাউন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.