একটি নির্দিষ্ট আর্টিক্যাক্ট ম্যানেজমেন্ট সরঞ্জাম বনাম একটি আর্টিফ্যাক্ট সংগ্রহস্থল হিসাবে সাবভারশন ব্যবহার করা


19

টিএল; ডিআর: অ্যাপাচি আর্কিভা বা সোন্যাটাইপ নেক্সাসের মতো কিছু কেন সাবভার্সনের পরিবর্তে আর্টিক্ট রিপোজিটরি হিসাবে ব্যবহার করবেন?

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

আমি এটি একত্রীকরণের দিকে লক্ষ্য করছি, সুতরাং আমাদের কাছে এমন কিছু আছে যা আরও স্ব-সামঞ্জস্যপূর্ণ এবং সহজেই ব্যবহারযোগ্য এবং যা বাইনারি শিল্পকে কোড থেকে পৃথক করে।

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

So. সাবভারসিওনের মতো সাধারণ সংস্করণ নিয়ন্ত্রণ সরঞ্জাম ব্যবহার করে ডেডিকেটেড আর্টিক্ট ম্যানেজমেন্ট সিস্টেম ব্যবহার করার সুবিধা কী?


একটি উত্সর্গীকৃত সরঞ্জাম ব্যবহারের এখন পর্যন্ত সবচেয়ে বড় সুবিধাটি হ'ল অন্যান্য সরঞ্জামগুলি সেগুলি কীভাবে পরিচালনা করতে পারে তা জানে ! তারা সেই সরঞ্জামগুলিতে নিদর্শনগুলি রাখতে পারে এবং সেগুলিকে একটি স্বয়ংক্রিয় ফ্যাশনে ফিরিয়ে আনতে পারে।
জোছিম সৌর

উত্তর:


13

সংক্ষিপ্ত উত্তর: সাধারণত, আপনার বাইনারি শৈল্পিকের ইতিহাস এবং সেই সব শৈল্পিকাগুলির পরিবর্তন দরকার নেই, আপনার কেবল নির্দিষ্ট সংস্করণ প্রয়োজন।

দীর্ঘ উত্তর: প্রতিবার আপনি বাইনারি ফাইলটিতে একটি ছোট পরিবর্তন করেন, সংস্করণ নিয়ন্ত্রণ সিস্টেমে ডেল্টা তৈরির কোনও উপায় নেই - দুটি ফাইলের মধ্যে একটি আলাদা - তাই এটি সম্পূর্ণ নতুন অনুলিপি তৈরি করে।

এসভিএন-এর মতো কোনও সিভিসিএসে, এটি এত বড় ব্যথা নয়, কারণ আপনার কাছে কেবল আপনার সংগ্রহস্থলের একটি কেন্দ্রীয় অনুলিপি রয়েছে - আপনার স্থানীয় অনুলিপিটি কেবল একটি সংস্করণ। (যদিও, তারপরেও, আপনার সংগ্রহস্থল খুব বড় আকারের হয়ে উঠতে পারে, যাচাই-বাছাই করে ধীরে ধীরে তৈরি করে) পরিবর্তনের আকার সেখানে খুব প্রাসঙ্গিক হয়ে ওঠে।

এবং ব্যথার বিনিময়ে এটি আপনাকে কী দেয়? কেবলমাত্র এটির প্রস্তাবটি হ'ল আপনার ভান্ডারগুলির পূর্ববর্তী সংস্করণে ফিরে যেতে সক্ষম হবে এবং জানতে হবে যে সেই সংস্করণের জন্য আপনার সঠিক বাইনারি রয়েছে।

তবে এটি করার জন্য আপনার কি আপনার रिपাইজরিতে পুরো বাইনারি দরকার? অথবা আপনি অন্য কোনও সংগ্রহস্থল থেকে অন্য কোনও সংস্করণ থেকে কোন সংস্করণটি টানতে চান তা বিল্ড প্রক্রিয়াটি জানিয়ে কোনও টেক্সট ফাইল রেখে পালিয়ে যেতে পারেন?

পরেরটি হ'ল সাধারণত আর্টিক্ট রেপোজিটরিগুলি যা অফার করে।

এছাড়াও, আরও কিছু পেশাদার ব্যক্তি যেমন, নেক্সাস, আপনাকে তৃতীয় পক্ষের নিদর্শনগুলির জন্য লাইসেন্স সম্পর্কে তথ্য দেবে, যাতে আপনি FOSS গ্রন্থাগার হিসাবে বিশ্বাস করেন এমন কিছু সূক্ষ্ম ধারার ঝাঁকুনির ঝুঁকি না পড়ে।


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

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

1
@ পিডিআর দ্বারা উত্তরের উপর জোর দেওয়ার জন্য এবং প্রসারিত করার জন্য, আপনি যদি এসএনএন-কে বাইনারি আর্টিক্যাক্ট রিপোজিটরি হিসাবে ব্যবহার করেন তবে আপনি সম্ভবত স্টোরেজ সমস্যার মধ্যে চলে যাবেন কারণ এসএনএন ডিজাইন কখনও ডেটা মোছার জন্য নয় is এক জায়গায় আমি কাজ করেছি আমরা শৈল্পিক সংগ্রহস্থলের জন্য এসএনএন ব্যবহার করেছি এবং আমরা নিয়মিত স্টোরেজ সীমা অতিক্রম করেছিলাম কারণ স্টোর থেকে পুরানো অব্যবহৃত শিল্পকর্মগুলি অপসারণ করা শক্ত (অসম্ভব নয়, তবে কৌশলযুক্ত) ছিল। আর্টফ্যাক্টরি এবং নেক্সাসের মতো নেটিভ বাইনারি রিপোজিটরি সরঞ্জামগুলি অনিবদ্ধ শিল্পকর্মগুলি মুছতে দেয়।
ম্যাথু স্কেলটন 13

3
সংশোধন: সাব্ভারশন অভ্যন্তরীণভাবে বাইনারি ডেল্টাস ব্যবহার করে (এবং কেবল আফ্রিক) আমি বহু বছর আগে এমএস অফিস ফাইলগুলি সঞ্চয় করার জন্য পরীক্ষা-নিরীক্ষা করেছি এবং এটি অত্যন্ত কার্যকর ছিল। 200 পাওয়ারপয়েন্ট স্লাইডগুলিকে ভারি পুনর্বিবেচিত করা হলেও, খুব ধীরে ধীরে রিপোজিটরির আকার বেড়েছে। তবে বাইনারি ডেল্টা অ্যালগরিদমের কার্যকারিতা ফাইল টাইপের দ্বারা খুব বেশি পরিবর্তিত হবে এবং আমি মনে করি যে ধারণার নীতির অভাবই এখানে আসল সমস্যা (এমন কিছু যা আপনি ফিল্টারড ডাম্প / লোড নিয়ে কাজ করতে পারেন তবে আপনি নিজের সমাধান লিখতে শুরু করেন)।
পিটার বেকার

"সংস্করণ নিয়ন্ত্রণ সিস্টেমে একটি ব-দ্বীপ তৈরির কোনও উপায় নেই" - সমস্যাটি হ'ল তারা হ'ল ২০০ 2006 সাল থেকে ... subversion.apache.org/docs/release-notes/1.4.html#svndiff1 en.wikedia। org / wiki / Xdelta
RnR

1

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

এটি করার কিছু সুবিধা হ'ল ..

  • এসভিএন-এ যুক্ত বাইনারিগুলি গড় সাশ্রয়ের জায়গার উপরে প্রায় 60-70 শতাংশ সংকুচিত হয়।
  • এসভিএন রিলিজের জন্য একটি লাইব্রেরি (কারুশিল্প) হিসাবে কাজ করে এবং দুর্যোগ পুনরুদ্ধারের উদ্দেশ্যে সংগ্রহস্থলটির ব্যাক আপ নেওয়া হয়।
  • Https এর মাধ্যমে এসভিএন কোনও ডিএমজেডে রিলিজ কোডটি সুরক্ষিত সরবরাহের অনুমতি দেয়।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.