আমার সহকর্মী কোনও পরীক্ষা ছাড়াই কমিট করে ধাক্কা দেয়


113

আমার সহকর্মী যখন মনে করেন যে তার পিসিতে কোনও পরীক্ষার দরকার নেই, তখন তিনি পরিবর্তন করেন, কমিট করেন এবং তারপরে চাপ দেন। তারপরে তিনি প্রোডাকশন সার্ভারে পরীক্ষা করেন এবং বুঝতে পারেন যে সে ভুল করেছে। এটি সপ্তাহে একবার হয়। এখন আমি দেখতে পাচ্ছি যে তিনি 3 টি কমিট করেছেন এবং 5 মিনিটের মধ্যে প্রোডাকশন সার্ভারে স্থাপনার সাথে ধাক্কা দেয়।

আমি কয়েকবার তাকে বলেছিলাম যে ভাল কাজ কীভাবে হয় তা এই নয়। আমি তার সাথে আর অভদ্র হতে চাই না এবং তিনি আমার সাথে একই সংস্থায় রয়েছেন এবং তিনি এখানে আমার চেয়েও বেশি কাজ করেছেন।

আমি চাই যে এই আচরণটি কোনও উপায়ে শাস্তি দেওয়া হোক বা যতটা সম্ভব অপ্রিয় হওয়া উচিত।

আমি শুরু করার আগে, সংস্থাটি এফটিপি-র মতো এন্টিক পদ্ধতি ব্যবহার করছে এবং কোনও সংস্করণ নিয়ন্ত্রণ নেই was

আমি তাদের / আমাদেরকে গিট, বিটবকেট, ডিপ্লয়.আইও এবং হিপচ্যাট ব্যবহার করতে বাধ্য করেছিলাম। স্থাপনা স্বয়ংক্রিয় নয়, কাউকে dply.io এ লগইন করতে হবে এবং মোতায়েন বোতাম টিপুন।

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


1
মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
ওয়ার্ল্ড ইঞ্জিনিয়ার

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

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

2
"কেন্দ্রীয়" সংগ্রহস্থলের দিকে ধাক্কা দেওয়ার ফলে কি সর্বদা কোনও উত্পাদন মোতায়েন করা হয়? এটা অবশ্যই করা উচিত নয়।
jpmc26

3
আমি প্রশ্নটি পড়েছি এবং নিজেকে বলেছিলাম যে লোকটি অবশ্যই তুর্কি হতে হবে এবং আপনি সেখানে যান :) এই দেখুন ভাই: nvie.com/posts/a-successful-git-branching-model । আপনার কমপক্ষে দুটি শাখা থাকা দরকার: মাস্টার এবং দেব যেখানে বিকাশকারীরা কেবলমাত্র দেবকে চাপ দেয় এবং পরীক্ষার পরে আপনি মাস্টার এবং মোতায়েনের সাথে মিলিত হন।
সেমরে

উত্তর:


92

আপনার একটি উপযুক্ত গুণমান নিশ্চিতকরণ (কিউএ) প্রক্রিয়া দরকার।

একটি পেশাদার সফ্টওয়্যার বিকাশকারী দলে, আপনি সঠিকভাবে উত্পাদনের দিকে বিকাশ করেন না। আপনার কমপক্ষে তিনটি পৃথক পরিবেশ রয়েছে: উন্নয়ন, মঞ্চায়ন এবং উত্পাদন production

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

আপনি যখন আপনার কাউএ করতে কাউকে নিয়োগের জন্য পরিচালনকে প্ররোচিত করতে না পারেন, তবে সম্ভবত আপনার একজন অন্যের হয়ে সেই ভূমিকা পালন করতে পারেন। আমি কখনও ਡਿਪਲੋি.ইওয়ের সাথে কাজ করি নি, তবে কিছু বিল্ড অটোমেশন সিস্টেম এমনভাবে কনফিগার করা যেতে পারে যে কোনও ব্যবহারকারী বিকাশ থেকে মঞ্চায়ণ এবং উত্পাদন পর্যায় পর্যন্ত উভয়ই মোতায়েন করতে পারে তবে একই বিল্ডের জন্য উভয়ই না করে, তাই দ্বিতীয় ব্যক্তি সর্বদা থাকে প্রয়োজনীয় (তবে আপনার একজন অনুপস্থিত থাকাকালীন আপনার কাছে কিছু ব্যাকআপ লোক রয়েছে তা নিশ্চিত করুন)।

অন্য বিকল্পটি হল আপনার সমর্থন কর্মীদের কিউএ করতে হবে। এটি তাদের জন্য অতিরিক্ত কাজের মতো মনে হতে পারে তবে এটি এও নিশ্চিত করে যে তারা আবেদনের যে কোনও পরিবর্তন সম্পর্কে অবগত আছেন যা তাদের দীর্ঘমেয়াদে কিছু কাজ নিরাপদ করতে পারে।


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

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

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

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

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

54

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

আমি চাই যে এই আচরণটি কোনও উপায়ে শাস্তি দেওয়া হোক বা যতটা সম্ভব অপ্রিয় হওয়া উচিত।

আপনার টেস্ট স্যুট থাকতে পারে (আপনি এর মধ্যে একটি পেয়েছেন, তাই না?) এমন একটি চেক অন্তর্ভুক্ত রয়েছে যা নির্ধারণ করে যে আপনি কোনও প্রোডাকশন সার্ভারে আছেন কিনা এবং যদি তা হয় তবে অফিসের সবাইকে ইমেল প্রেরণ করে প্রেরণ করে Looks like $username is testing on prod, watch out। সম্ভবত আপনার সহকর্মীকে প্রকাশ্যে লজ্জা দেওয়া অপ্রীতিকর হবে। অথবা আপনার প্রযুক্তিগত প্রতিবন্ধকতা তৈরি করতে পারে যেমন আইপি-নিষিদ্ধকরণকে আপনার দলকে প্রোডের দিকে নজর দেওয়া থেকে নিষিদ্ধ করা (যা আপনি উত্তোলন করতে পারেন তবে আপনাকে ন্যায়সঙ্গত করতে হবে)।

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

অবশ্যই আপনি যা চান তা এই আচরণের জন্য শাস্তি দেওয়া নয়, বরং এটি বন্ধ হওয়া ?

আমি তাদের / আমাদের ব্যবহার করতে বাধ্য করেছি [...]

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

সুতরাং একটি কথোপকথন দিয়ে শুরু করুন।

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

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


10
কথোপকথনের জন্য +1। এটি একটি সমস্যা এবং কেন এটি একটি সমস্যা তা একটি ভাগ করে নেওয়ার মতো বোঝার থাকতে হবে। তবেই কোনও প্রযুক্তিগত সমাধানের সাথে কোনও সাফল্য আসতে পারে।
প্যাট্রিক

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

20

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

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

একটি সমাধান সঙ্গে আপনার বস যান। এটি আপনার এমনকি প্রযোজ্য এবং এটি কেবল আপনার সহকর্মীকে শাস্তি নয়, সবার কোডের মান উন্নত করার একটি উপায়।


17

আমি এটিকে একটি বৃহত মানব সমস্যা হিসাবে দেখছি - প্রক্রিয়াটি রয়েছে এবং সরঞ্জামগুলি রয়েছে তবে প্রক্রিয়াটি কেবল অনুসরণ করা হচ্ছে না।

আমি কি অন্যদের এখানে বলেছি সম্ভাবনা যে এটা বেশ সম্ভব প্রশ্নে ডেভেলপার শুধু একটি আটকে সম্পর্কে, সম্মত SVN মানসিকতা, এবং ভাল মনে হতে পারে তিনি যে হয় প্রক্রিয়া নিম্নলিখিত।

আমি দেখতে পেয়েছি যে এই ধরণের সমস্যা সমাধানের সর্বোত্তম উপায়, বিশেষত যেখানে স্পষ্টতর উচ্চতর হতে পারে না, শাস্তি বা অ্যাক্সেস অপসারণের আশেপাশে ঘোরাঘুরি করে না - এটি কেবল বিরক্তি সৃষ্টি করে এবং মনে হয় যে আপনি অনুসরণের তীব্র সমর্থক প্রক্রিয়া (সর্বদা একটি থাকে, এবং আমি আগে 'সেই লোক' ছিলাম), আপনিই সম্ভবত সবচেয়ে বেশি উত্তাপ মোকাবেলা করতে পারেন। এটি প্রথমে প্রক্রিয়াটিতে লোককে সমঝোতায় আনার চারদিকে ঘোরে rev

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

চূড়ান্ত পয়েন্টটি, কখনই "ভাল, এর আগে পড়ার চেয়ে ভাল নয়!" ফাঁদ। উন্নতির জন্য সর্বদা অবকাশ আছে। আইটি শিল্পের লোকেরা, আমার অভিজ্ঞতা অনুসারে, কিছু উন্নতির পরে তারা যা পেয়েছে তা স্থির করে নেওয়া শুরু করে। হঠাৎ করে আবার সঙ্কট বিন্দুতে না আসা পর্যন্ত স্থিতিশীলতা অব্যাহত থাকে।


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

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

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

2
কেবলমাত্র আপনি মাস্টারকে কমিট করার অর্থ এই নয় যে আপনার উত্পাদনতে মোতায়েন করা উচিত। এমনকি যদি আপনার উত্সের রেপো / এসএনএন রেপো প্রোড সার্ভারে হোস্ট করা হয় তবে এটি এরকম বোঝায় না।
ভনপেট্রেশেভ

12

বিশেষত ছোট দলগুলিতে এটি অস্বাভাবিক নয় । এটি সম্পর্কে কোনও বড় চুক্তি করবেন না, তবে একটি অনানুষ্ঠানিক বিধি তৈরি করুন:

বিল্ডটি ভাঙ্গুন, ডোনটস আনুন।

হয় 1) আপনি সপ্তাহে দু'বার ডোনাট পাবেন বা 2) তারা মানকে মেনে চলবে।

একটি সভায় এটি আনুন। অভিযুক্তভাবে নয়, কারও নামে নাম উল্লেখ করবেন না, তবে এর মতোই কিছু, "যেহেতু আমরা সংস্করণ নিয়ন্ত্রণ এবং স্থাপনার স্ট্যান্ডার্ড প্রবর্তন করেছি তাই জিনিসগুলি অনেক সহজ হয়ে গেছে এবং সার্ভার আগের সময়ের চেয়ে অনেক বেশি সময় পার হয়ে গেছে This এটি দুর্দান্ত! তবে এটি এখনও শর্টকাট গ্রহণ এবং যথাযথ পরীক্ষা ছাড়াই জমা দেওয়ার লোভনীয় It's এটি একটি জুয়া, যদিও আমাদের সার্ভারটি লাইনে রয়েছে Iআমি পরামর্শ দিই যে এখন থেকে যদি আমাদের মধ্যে কেউ সার্ভার ভেঙে কোড জমা দেয় তবে দায়বদ্ধ ব্যক্তিটি এনে দেয় পরের দিন দলের জন্য ডোনट्स। "

ডোনাটসের জন্য অন্য কিছু বদল করুন এবং চান না, এবং এটি ব্যয়বহুল করবেন না - পুরো দলের জন্য লাঞ্চ খুব বেশি হবে, তবে ডোনট বা ফল / ভেজি ট্রে, বা চিপস এবং ডুব ইত্যাদির একটি box 5 বাক্স সম্ভবত বিরক্তিকর হবে would দলকে বা সংস্থার হাত থেকে দূরে সরিয়ে এনে বোঝা তৈরি না করে পরীক্ষার এড়িয়ে যাওয়ার সুবিধার বিরুদ্ধে তাদের ঝুঁকির পক্ষে তুলনামূলকভাবে যথেষ্ট।


2
এটি কেবল একটি অফিসে কাজ করে। আপনি যখন বাড়ি থেকে সমস্ত কাজ করে এমন প্রত্যন্ত বিকাশকারীদের একটি বিতরণকারী দল থাকে তখন এর সমতুল্য ধারণাটি কী?
আরথ

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

8

এখন, আমি কীভাবে তাদের জোর করতে পারি ...

আপনার সহকর্মীদের বাধ্য করার পরিবর্তে তাদেরকে আপনার দৃষ্টিকোণ থেকে জিনিস দেখার চেষ্টা করুন। এটি প্রত্যেকের জন্য বিষয়গুলিকে অনেক সহজ করে তুলবে। যা আমাকে ভিতরে নিয়ে যায় ...

আমি চাই যে এই আচরণটি কোনও উপায়ে শাস্তি দেওয়া হোক বা যতটা সম্ভব অপ্রিয় হওয়া উচিত।

লাইভ সার্ভারে সমস্যা থাকলেও কেন এটি আপনার পক্ষে বেদনাদায়ক, তবে এই লোকটির পক্ষে নয়? আপনি কি এমন কিছু জানেন যা তিনি জানেন না? আপনি যেভাবে জিনিসগুলি করেন সেভাবে তাকে দেখাতে আপনি কী করতে পারেন?

আপনি যদি এটিতে সফল হন তবে আপনি তার মধ্যে সেরাটি বের করে আনবেন এবং আপনি যে সমস্যার কথা ভাবেননি তার সমাধান তিনি পাবেন।

সাধারণভাবে, সমস্যাগুলি সমাধান করার জন্য লোকদের সাথে একত্রে কাজ করার চেষ্টা করুন যা বোঝে না এমন প্রক্রিয়ায় জোর করার চেয়ে।


6

সবচেয়ে খারাপ যে ঘটতে পারে? আপনার কি এমন ব্যাকআপ আছে যা যথেষ্ট ভাল যাতে আপনার ডাটাবেজে একটি বাগ সংশোধন করে র‌্যান্ডম রেকর্ড পরিবর্তন করে কোনও পুরানো সংস্করণ পুনরুদ্ধার করে ঠিক করা যায়?

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

এখন আপনার অত্যন্ত অনুপ্রাণিত বিকাশকারীকে এ সম্পর্কে তিনি কী ভাবেন জিজ্ঞাসা করুন। স্পষ্টতই তিনি দাবি করতে পারবেন না যে তিনি কখনও ভুল করেন না, কারণ তিনি অতীতেও তাই করেছিলেন।


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

কেবলমাত্র আপনার ব্যাকআপ নেই, তবে পুনরুদ্ধার করার সময় আপনার ব্যবসায়টি ডাউনটাইম বহন করতে পারে? এবং এটি কি মিনিট, ঘন্টা, বা এমনকি কয়েক দিনের তথ্য হারিয়ে ফেলতে পারে কারণ ডাটাবেসের একটি রোলব্যাক করা হয়েছিল? আমি প্রায় সমস্ত অনানুষ্ঠানিক ক্ষেত্রে বলতে পারি, উত্তরটি একটি দুর্দান্ত 'না'। এমনকি তুচ্ছ ঘটনাগুলিতেও আপনি 'ব্যাকআপ পুনরুদ্ধার' করতে চান না যাচাই করা হচ্ছে আপনি অনির্ধারিত কোডটি কীভাবে চেক ইন হচ্ছে তার সাথে আপনি কীভাবে व्यवहार করেন There এখানে এমন কিছু বিষয় রয়েছে যা নিশ্চিত করে যে কোডটি চেক ইন করা হয় এবং কখন এটি উত্পাদন হয় সেখানে testing
আরথ

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

3

আপনি বিভিন্ন সম্ভাব্য প্রক্রিয়া এবং প্রযুক্তিগত সমাধানগুলি স্পষ্টভাবে বুঝতে পারেন। বিষয়টি সহকর্মীকে কীভাবে পরিচালনা করবেন তা।

এটি মূলত একটি পরিবর্তন পরিচালনার মহড়া।

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

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

নিয়মিত সেটআপ করুন (উদাহরণস্বরূপ সাপ্তাহিক) প্রক্রিয়া প্রট্রোস্পেক্টিভস। পুরো দলটি রাখুন:

  • সমস্যাগুলি চিহ্নিত করুন
  • কাজের অনুশীলনের উন্নতির জন্য স্বেচ্ছাসেবীর ধারণা ideas
  • এই অভ্যাসগুলি বাস্তবায়নে নিযুক্ত হন

এটি স্বাভাবিকভাবে অনুসরণ করা উচিত যে পুরো দলটি তখন উন্নত অনুশীলনের সাথে সম্মতি নিশ্চিত করতে সহায়তা করে।


প্রত্যাশাবাদী হ'ল একটি দুর্দান্ত উপায় সম্বোধন এবং আশা করা যায় যে এই জাতীয় আচরণকে গঠনমূলক উপায়ে পরিবর্তন করুন!
গ্রিনসকস রক

1

আমি মনে করি আপনি কয়েকটি সমস্যা চিহ্নিত করেছেন:

  1. দেখে মনে হচ্ছে যে কোনও কোড যাচাই করা হয়ে গেছে তত্ক্ষণাত্ কোড চেক করার অধিকার আছে এমন ব্যক্তি কর্তৃক তাকে তুচ্ছভাবে উত্পাদনের দিকে ঠেলে দেওয়া যেতে পারে।

সত্যিই আমি মনে করি সেটআপটি কেবল উন্মাদ। একটি সর্বনিম্ন লোকেরা যাদের কাছে নিজে উৎপাদন করার জন্য একটি ধাক্কা আরম্ভ করতে পারবেন জনগণের সেট যারা বিশ্বাস করা যাবে অবধি সীমিত করা উচিত সম্পূর্ণরূপে পুঙ্খানুপুঙ্খভাবে পর্যালোচনা করে ধাক্কা triggering আগে সব বিদেশগামী পরিবর্তন টেস্ট (নির্বিশেষে যারা পরিবর্তন রচনা করেছেন) এর। যেকোনকে কোডে চেক করার অনুমতি দিয়ে দেওয়া যথেচ্ছভাবে উত্পাদনের দিকে ধাক্কা দেওয়ার জন্য কেবল সমস্যা জিজ্ঞাসা করা। কেবল অসাবধান এবং / অথবা অযোগ্য বিকাশকারীদের কাছ থেকে নয়, অসন্তুষ্ট ব্যক্তি বা দূষিত তৃতীয় পক্ষ থেকেও যারা আপনার অ্যাকাউন্টগুলির একটির সাথে আপস করে to

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

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

সুতরাং ব্যবসায়ের প্রথম আদেশ হ'ল স্থাপন প্রক্রিয়া ঠিক করা process হয় সীমিত যারা কে উত্পাদন প্রতিরোধ করতে পারে, বা আপনার স্বয়ংক্রিয় স্থাপনা প্রক্রিয়া, বা উভয় মধ্যে যুক্তিসঙ্গত পরিমাণে পরীক্ষার সংযোজন করতে পারে।

  1. দেখে মনে হচ্ছে আপনি সম্ভবত কোনও স্পষ্টভাবে সংজ্ঞায়িত বিকাশের মান / নীতি নির্ধারণ না করেছেন।

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

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


0

আপনার কোম্পানিতে একটি অবিচ্ছিন্ন একীকরণ + পিয়ার পর্যালোচনা প্রক্রিয়া একীভূত করা উচিত। বিটবকেট এটি সহজ করে তোলে।

এবং অন্যান্য ব্যবহারকারীদের দ্বারা প্রস্তাবিত ডেভ সার্ভারে +1 করুন।

তার সাথে অভদ্র ব্যবহার করবেন না, এটি কেবল আপনার কাজের সম্পর্কের ক্ষতি করবে।

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