সরাসরি এসভিএন থেকে উত্পাদনে ওয়েব অ্যাপ স্থাপন করা কি গ্রহণযোগ্য?


11

প্রশ্ন

উত্পাদনের মোতায়েনের জন্য এসভিএন ব্যবহার না করার কোনও বৈধ কারণ আছে কি , বা এটি কেবল ব্যক্তিগত পছন্দসই একটি মামলা এবং এসভিএন এর বিরুদ্ধে কোনও বাস্তব মামলা নেই?

পটভূমি

আমার কর্মক্ষেত্রে এসভিএন-এ রিলিজ ট্যাগিংয়ের সংস্কৃতি রয়েছে এবং তারপরে সরাসরি প্রকাশের মাধ্যমে সরাসরি ব্যবহার করে svn coবা svn switchসহ বিভিন্ন ওয়েব সার্ভারগুলিতে সেগুলি প্রকাশ করা হবে dep

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

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

সম্পাদনা:

বিল্ড এবং মোতায়েন সম্পর্কে আমার অর্থ:

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

একটি বিল্ড স্ক্রিপ্ট যা বলে যে এক্সএমএলপোক ব্যবহার করে একটি নির্দিষ্ট পরিবেশের জন্য উপযুক্ত ওয়েবকনফিগটি স্বয়ংক্রিয়ভাবে জেনারেট করতে আপনার কাছে একটি সংস্করণযোগ্য স্ক্রিপ্ট রয়েছে যা আপনার প্রতিটি পরিবেশের জন্য প্রয়োজনীয় সমস্ত পরিবর্তনের দলিল করে।

বর্তমান নির্মাণ এবং স্থাপন পদ্ধতি od

প্রকল্পে প্রশ্নে কোনও বিকাশকারী ম্যানুয়ালি একটি রিলিজ তৈরি করে, অন্যান্য প্রকল্পগুলির মধ্যে বিল্ড স্টেপ হয় ন্যান্ট, বা এমএসবাইল্ডের সাথে স্বয়ংক্রিয়ভাবে যা ঠিক আছে।

বেশিরভাগ প্রকল্পের ডেটাবেস স্থানান্তরগুলি হ'ল ডিবি স্ক্রিপ্ট বা মাইগ্রেশন স্ক্রিপ্টস (মাইগ্রেটার.এনইটি), বা সিএমএস প্যাকেজগুলির মাধ্যমে।

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

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

কনফিগারেশন সাধারণত খুব প্রায়ই পরিবর্তন হয় না, শুধুমাত্র কনফিগারেশন ফাইলগুলিতে পরিবেশ সম্পর্কিত নির্দিষ্ট তথ্য থাকবে। আর সব কিছু ডিবিতে।

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

আরও গুরুত্বপূর্ণ বিষয় হল আমার সহকর্মীদের একটি স্বয়ংক্রিয় বিল্ড ব্যবহার এবং মোতায়েন করাতে পরিবর্তন আনার জন্য আমার খুব নির্দিষ্ট বৈধ যুক্তিগুলির প্রয়োজন হবে।

বা বিশেষত উত্পাদনে মোতায়েনের জন্য এসভিএন ব্যবহার করার বিরুদ্ধে কোনও সত্যিকারের বৈধ যুক্তি নেই?


আপনি কী "বিল্ড অ্যান্ড মোতায়েন স্ক্রিপ্ট বা কিছু ফর্ম বা স্বয়ংক্রিয়ভাবে মোতায়েন না করে আপনি ইন্টিগ্রেশন পরিবেশের সেটিংস হারাবেন" তার বিশদ বর্ণনা করতে পারেন?
টালোনেক্স

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

ধন্যবাদ। এই পয়েন্টটি স্পষ্ট করতে আপনি আপনার প্রশ্ন সম্পাদনা করতে পারেন।
টালোনেক্স

তাদের কি কেবল উত্সগুলি চেকআউট করতে হবে বা চেকআউট (সংকলন, প্যাকেজিং, কনফিগারেশন, ...) পরে কোনও ম্যানুয়াল পদক্ষেপ আছে?
ডেভিড

উত্তর:


7

আমার অভিজ্ঞতা থেকে, সুবিধা এবং অসুবিধা উভয়ই রয়েছে:

পেশাদাররা:

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

  • সরলতা: আপনি দ্রুত বিতরণ করুন, যদিও অন্যরা এখানে উল্লিখিত হয়েছে, আপডেট-স্ক্রিপ্ট স্কিমে স্যুইচ করা তত সহজ easy

কনস:

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

  • দ্বন্দ্ব: প্রোডাকশন সার্ভারে হঠাৎ দ্বন্দ্ব সমাধান করা একটি ভয়ানক ধারণা: আবার, পরিষেবাটি আপনি ঠিক করার সময় অস্থির হয়ে ওঠেন।

  • প্রোডাকশন সার্ভারে সম্পর্কিত নয় এমন ফাইল যা আপনার হতে পারে বা নাও পারে, যদিও আপনি অবশ্যই রেপোতে সঠিক সাবট্রিটি পরীক্ষা করে এড়াতে পারবেন।

  • সুরক্ষা: যে কেউ আপনার প্রোডাকশন সার্ভারে বৈধভাবে বা না পেয়ে অ্যাক্সেস অর্জন করেছে, সেগুলি আপনার रिपোস, সম্ভবত অন্যান্য পণ্যগুলিতে এবং সম্ভবত লেখার অ্যাক্সেস সহ অ্যাক্সেস অর্জন করে! সামগ্রিকভাবে আপনার অভ্যন্তরীণ এসভিএন সার্ভারটি বাইরের বিশ্বে খোলার পক্ষে একটি খারাপ ধারণা। আপনার উত্স ভাণ্ডারগুলি কোনও কোম্পানির ফায়ারওয়াল, পিরিয়ডের পিছনে থাকা উচিত।

  • সেখানে যাইহোক আপডেট স্ক্রিপ্টগুলি হতে চলেছে, যেমন ডিবি কাঠামো আপডেট করার জন্য, ক্রোনজবস পরিচালনা করার জন্য, ইত্যাদি, সুতরাং কেন এটি কোনও স্ক্রিপ্ট নেই যা এটি করে? - যেমন সর্বশেষ প্রি-প্যাকেজযুক্ত রিলিজটি টেনে নেয়, রক্ষণাবেক্ষণ মোডে পরিবর্তন করে, উত্সগুলি আপডেট করে, রিলিজ-নির্দিষ্ট স্ক্রিপ্টগুলি চালায় ইত্যাদি runs

সম্পাদনা করুন: এখনও এসভিএন স্কিমে যারা রয়েছেন, আপনার এপাচি কনফিগারেশনে এটি ভুলে যাবেন না:

<DirectoryMatch .svn>
    Order deny,allow
    Deny from all
</DirectoryMatch>

1
+1: দুর্দান্ত যুক্তি। আমি এটি সুরক্ষার দিক এবং কোনও আপোসযুক্ত ভাণ্ডার রাখার ঝুঁকি নিয়ে বিক্রি করতে সক্ষম হতে পারি। উত্পাদন মোতায়েনের জন্য এসভিএন ব্যবহারের বিরুদ্ধে আলোচনার প্রচারের অবশ্যই একটি ভাল কারণ।
জাস্টিন শিল্ড

2

আমি আমার কাজটিতে একটি সিআই সার্ভার সেট আপ করেছি যা ইউনিট পরীক্ষাগুলি সফলভাবে পাস করে ধরে নিয়ে আমাদের ইনস্টলারটি স্বয়ংক্রিয়ভাবে তৈরি করে। এটি প্রায় এক দিন সময় নিয়েছিল এবং আমি এটি সেট আপ করার পর থেকে এটি আমাকে তার চেয়ে অনেক বেশি সাশ্রয় করেছে।

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

একটি রেফারেন্সের জন্য, একক ক্লিকের বিল্ডিং প্রক্রিয়া কীভাবে আপনাকে স্বল্প থেকে মাঝারি মেয়াদে বাঁচায় সে সম্পর্কে জোয়েল নিজেই কথা বলুন।


0

নিশ্চিত করুন যে আপনার এসভিএন-তে যথাযথ চেকিন নিয়ন্ত্রণ রয়েছে। উদাহরণস্বরূপ, এটি বিবেচনা করুন -

  • রিলিজের জন্য বৈশিষ্ট্যগুলি চেক ইন করা হয়
  • কোড মঞ্চে স্থাপন করা হয়, কিউএ তার কাজ করে
  • বাগগুলি স্থির করা হয়েছে, পরীক্ষার আরেক দফা (তবে এটি আপনার দলে কাজ করে)
  • প্রাক-উত্সব জন্য Ditto
  • উত্পাদনে নিযুক্ত করুন

প্রি-প্রোড পর্যায়ের পরে যদি কেউ দুর্ঘটনাক্রমে চেকিন তৈরি করে তবে কিছু ভাঙার ঝুঁকি রয়েছে। এটি যদি নিয়ন্ত্রিত হয় - ত্রুটি সংশোধন ব্যতীত প্রি-প্রোড চলাকালীন কোনও চেকিনের অনুমতি নেই - তবে আমি কোনও ঝুঁকি দেখছি না।

আপডেট: আপনি যদি আপনার কনফিগারেশন ফাইলগুলি চেক ইন না করেন তবে আপনার অপেক্ষা করতে সমস্যা রয়েছে problem "দয়া করে করুন, এবং দ্রুত!" ব্যতীত আমি এটার জন্য সত্যিই কোনও পরামর্শ দিতে পারি না!


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

অপারেশনগুলি কীভাবে সর্বদা নিযুক্ত করার আগে এসএনএন থেকে কনফিগার ফাইলটি নিয়ে যায়?
মিনিটে টালোনেক্স

0

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

তবে একবার প্রকল্পটি প্রায় এক বছর পুরানো হয়ে গেলে ডিপ্লোমেন্ট সরঞ্জামে বিনিয়োগের বিষয়টি বিবেচনা করে। সাধারণ কারণগুলি হ'ল

  • ব্যবসায় বৃদ্ধি পায় তাই আপনি এটিকে একাধিক সার্ভারে হোস্ট করার পরিকল্পনা করছেন
  • কোনও নির্দিষ্ট পরিবেশে বাগ থাকতে পারে এবং আপনার বাগটি প্রতিলিপি দেওয়ার কোনও জায়গা নেই। তার-আনতার-ভুলে যাওয়া_ভোটা_হোম_ফোর্ড_এই_উইক প্রক্রিয়া ব্যতীত এটি সেট আপ করার সহজ কোনও উপায় নেই।
  • কারও কারও পক্ষে বিল্ডটি ভেঙে যাওয়ার সম্ভাবনা রয়েছে। কে বিল্ট ভেঙেছে

আপনি যদি তাদের বোঝাতে চান তবে তাদের অভ্যন্তরীণ পরীক্ষার জন্য বা অন্য কিউএর জন্য অন্য একটি সার্ভার সেটআপ করতে বলুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.