গিট উত্পাদন / স্টেজিং সার্ভার কর্মপ্রবাহ


108

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

আমার মনে ছবিটি এখানে:

        Production        - Production server which already have codes
            ↑             
         Staging          - New staging server, will install Trac too
         ↗↙ ↖↘          
  Developer1  Developer2  - Local development 

আমার প্রশ্ন, আমি কীভাবে শুরু করব?

এখানে আমার মনের কয়েকটি পদক্ষেপ রয়েছে:

  1. git initপ্রোডাকশন সার্ভারে একটি কাজ করুন (এটি নিরাপদ?)
  2. clone উত্পাদন থেকে স্টেজিং সার্ভারে রেপো
  3. বিকাশকারীরা cloneতাদের স্থানীয় মেশিনে মঞ্চ থেকে রেপো
  4. push স্টেজিং সার্ভারের ফাইলগুলি পরিবর্তন শেষ করার পরে
  5. মঞ্চ প্রস্তুত যখন, pushউত্পাদন সব

এই কাজের প্রবাহটি কি অর্থবোধ করে না, বা এটি করার আরও ভাল কোনও উপায় আছে?

আমি যদি কেবল একটি ফাইল পরিবর্তন করতে চাই?

এই প্রক্রিয়াতে এর সাথে কি উত্স / মাস্টারটির কোনও সম্পর্ক আছে ?? কে আদি? আমি কি একাধিক উত্স শেষ করা যাচ্ছে ??

এছাড়াও, branchএই ক্ষেত্রে কখন কোনও বিকাশকারী ব্যবহার করা উচিত ?

উত্তর:


59

স্টেজিংয়ের জন্য কেবল উত্পাদন এবং বিকাশ শাখার জন্য মাস্টার শাখা ব্যবহার করা ভাল। প্রতিটি বিকাশকারীকে নতুন বৈশিষ্ট্য যুক্ত করতে স্থানীয় শাখা তৈরি করতে হবে এবং তারপরে বিকাশ শাখার সাথে একীভূত করা উচিত। আপনি যদি গিটটিতে নতুন হন তবে ব্যবহার করার চেষ্টা করুন - http://github.com/nvie/gitflow এছাড়াও গিট শাখার মডেল বর্ণনা করার জন্য ভাল ছবি আছে - http://nvie.com/posts/a-successful-git- শাখাবিন্যাস মডেল /


এটি একটি ভাল উত্তর। গিট ব্রাঞ্চিংয়ের ধারণার সাথে আমি খুব একটা পরিচিত ছিলাম না।
কেয়াউ

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

19

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

* ইন্টিগ্রেটর : " একটি গ্রুপ প্রকল্পে সংহত হিসাবে কাজ করা মোটামুটি কেন্দ্রীয় ব্যক্তি অন্যের দ্বারা সম্পাদিত পরিবর্তনগুলি গ্রহণ করে, তাদের পর্যালোচনা করে এবং সংহত করে এবং অন্যদের ব্যবহারের জন্য ফলাফল প্রকাশ করে ... "


1. প্রোডাকশন সার্ভারে একটি গিট থ্রি (এটি কি নিরাপদ?)

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

2. উত্পাদন থেকে স্টেজিং সার্ভারে রেপো ক্লোন করুন

আপনার সম্ভবত উত্পাদন এবং স্টেজিং সার্ভার উভয়ের থেকে আলাদা একটি "কেন্দ্রীয়" রেপো থাকতে হবে। এটির প্রয়োজন অনুসারে ক্লোন করে ধাক্কা দেওয়া যায়।

৩. বিকাশকারীরা তাদের স্থানীয় মেশিনে মঞ্চ থেকে রেপো ক্লোন করেন

৪. পরিবর্তন শেষ করে স্টেজিং সার্ভারে ফাইলগুলি চাপুন

৫. মঞ্চ প্রস্তুত হওয়ার সময়, সবকিছুকে উত্পাদনের দিকে ঠেলে দিন

"স্টেজেজিং" কে "সেন্ট্রাল" দিয়ে প্রতিস্থাপন করুন এবং আমি মনে করি আপনি ঠিক আছেন, তবে একটি বড় সমস্যা আপনি কীভাবে শাখা নিয়ে কাজ করবেন এবং মার্জ করবেন তা যেমন বুগ নির্দেশ করে।


10
1: উত্পাদনে গিট রেপো নিরাপদ করতে, ভিতরে "অস্বীকার করুন" দিয়ে একটি .htaccess ফাইল যুক্ত করতে ভুলবেন না।
কেয়েউ

2
2: ফেলিক্সিজের "সেন্ট্রাল" রেপো খালি রেপো উল্লেখ করছে। খালি রেপো তৈরি করতে --bare কমান্ডটি ব্যবহার করুন।
Kayue

1
@keyue 1: আরও ভাল করে, যোগ RedirectMatch 404 /\.gitআপনার উৎপাদন .htaccess আপনার রক্ষা করার জন্য .gitignore , .gitattributes এবং .git ফোল্ডার।
লিও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.