গিট: সংগ্রহশালা থেকে স্বয়ংক্রিয় টান?


90

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

কেউ কি এই কাজ পেয়েছে? হেরোকু কী করে? আমার গুগল-ফু আমাকে কোনও প্রাসঙ্গিক ফলাফল দিতে ব্যর্থ হচ্ছে।

উত্তর:


48

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

এটির মূল্যের জন্য, আমি মনে করি না যে অটো টানাই একটি ভাল ধারণা - যদি আপনার শাখায় কিছু ভুল হয় তবে কী হবে? আমি এই capistranoজাতীয় জিনিসের জন্য একটি সরঞ্জাম (বা সমতুল্য) ব্যবহার করব।


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

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

21

ইউনিক্স-লাইসে আপনি ক্রোন জব তৈরি করতে পারেন যা আপনার মেশিনে "গিট পুল" (প্রতিটি দিন বা প্রতি সপ্তাহে বা যাই হোক না কেন) কল করে। উইন্ডোতে আপনি টাস্ক শিডিয়ুলার বা "এটি" কমান্ড একই জিনিসটি ব্যবহার করতে পারেন।


4
গিট ব্যবহারের উপযুক্ত পদ্ধতি নয়।
ডিগ্রিভ

26
@ ডিপডিভ কেন? আপনার বাড়িতে একটু রাস্পেরি পাই আছে এবং কোনও স্ট্যাটিক আইপি উপলব্ধ নেই তা কল্পনা করুন। ক্রোন চালানো বা রানওহেন কাজ করার পরে আর কোন বিকল্প আপনি পেয়েছেন?
কায়সার

4
এটি একটি ভাল ধারণা না. তিনি পরিবর্তনগুলি চাপ দেওয়ার সাথে সাথেই প্রয়োগ করতে চান।
boi_echos

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

4
একটি দ্রুত উপায় ক্রন ট্যাব পরিবর্তন না করে এই কাজ করতে: while true; do git pull; sleep 10; done। এটি git pullপ্রতি 10 সেকেন্ডে করবে ...
জ্যাকড

3

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


0

আমি জানি এই প্রশ্নের একটি বিট পুরানো, কিন্তু আপনি উইন্ডোজ লগ ইন করুন এবং Git একটি webhook এবং পিএইচপি ব্যবহার (অভিমানী আপনার প্রকল্পের একটি ওয়েবসার্ভার জড়িত আপনার প্রকল্পের autopull করতে ব্যবহার করতে পারেন আমার সারকথা এখানে দেখুন। Https://gist.github.com/ upggr / a6d92e2808e9628ebe0d01fd93569f4a

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