কীভাবে sshfs + VPN + গিটকে সহনীয় কাজের পরিবেশ তৈরি করতে পারি?


9

বর্তমানে আমি যে প্রকল্পে কাজ করছি তার কোড বেসটি দূরবর্তী সময়ে একটি সংস্থার সার্ভারে রয়েছে। এবং এটি যেমন থাকতে হবে। এছাড়াও দূরবর্তী gitসংগ্রহস্থলটি সর্বজনীন করা যায় না।

আমার বর্তমান সেটআপটি হ'ল:

  • এর সাথে সংযুক্ত হন VPN
  • sshfsকোডের একটি অনুলিপি মাউন্ট করতে চালান
  • কোড কাজ শুরু
  • যখন আমার কাজ শেষ হবে: sshদূরবর্তী সার্ভারে এবং gitকমান্ডগুলি চালিত করুন

এটির সাথে সমস্যাটি হ'ল ভিপিএন সময়ে সময়ে পড়ে যায় তাই আমার sshfsমাউন্টটি ভেঙে যায় এবং আমার আইডিই জমা হয়। আমি যা করি তা হ'ল ম্যানুয়ালি ভিপিএন পুনরায় সংযোগ স্থাপন করা, তারপরে sshfsআবার দৌড়াতে এবং আবার কাজে ফিরে আসা।

তবে VPNপ্রায়শই ঝরনা পড়লে বিরক্তিকর হয় ।

সুতরাং আমি অবাক হই যে sshfsকোনও ধরণের ক্যাশের জন্য কোনও সেটিংস রয়েছে কিনা তা আমাকে কাজ করতে দেয় এবং ভিপিএন ফিরে এলে কেবল পরিবর্তনগুলি সিঙ্ক করে।

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

আমি কেবল গিট ক্লোন করতে পারি না, কারণ 'স্থানীয়ভাবে' কাজ করার জন্য আমি পুরো পরিবেশটি পুনরুত্পাদন করতে পারি না (ডিবি এবং স্টাফ)

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


3
কেন আপনি gitবুদ্ধিমান উপায় ব্যবহার করবেন না ? রেপো ক্লোন করুন এবং দূর থেকে কাজ করুন।
zecrazytux

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

1
ক্রিপস, এটি বেশ ভেঙে গেছে।
EEAA

এটা কেমন খারাপ প্রশ্ন? এর মতো নয় যে আমি তাদের অবকাঠামো পরিবর্তন করতে পারি, বা এটি নিয়ে সিদ্ধান্ত নিতে পারি, তাদের সঙ্গে দূরবর্তীভাবে কাজ করার জন্য আমার কেবল একটি উপায় প্রয়োজন।
Asgaroth

উত্তর:


2

জেক্রাজিটাক্স সঠিক - আপনি gitযেভাবে অনুমিত হওয়ার কথাটি ব্যবহার করেন না কেন : সংগ্রহস্থলটিকে ক্লোন করে, এটিতে দূরবর্তীভাবে কাজ করে, এবং পরিবর্তনগুলি মাস্টারের কাছে ফিরিয়ে দিয়ে?

আমি আপনার কারণগুলি git pushপ্রতিবার আপনার পরিবর্তনগুলি দেখতে চাইলে " কাজ করতে" পারছি না (আদর্শভাবে এমন একটি উন্নয়ন শাখার দিকে ঠেলা দিচ্ছে যা পরীক্ষার পরে প্রমাণিত হয় এবং কাজ করার পরে প্রমাণিত হয়) - প্রচুর লোক এটি করে। এমনকি post-receiveযদি আপনি সেই অংশটির অংশটি স্বয়ংক্রিয় করতে চান তবে আপনি পরিবেশে আপনার পরিবর্তনগুলি মোতায়েন করতে একটি হুক ব্যবহার করতে পারেন।
(আপনি স্পষ্টতই এটি করতে চান না তবে আপনি আপনার সমস্যার ভিত্তিটিকে প্রত্যাখ্যান করার কোনও কারণ আপনি দেননি))


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


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

we have redmine and each commit should have a specific format<- সুতরাং যখন আপনি উন্নয়ন শাখাকে মার্জ করবেন তখন মার্জ করার জন্য প্রতিশ্রুতি ফর্মটি পুনরায় রূপায়ন যেমন প্রত্যাশা করে। gitএর মতো নমনীয় :-)
ভোরেটাক 7

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

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

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

0

আমি এই sshfs বিকল্পগুলি বিলম্বতা কমাতে ব্যবহার করছি:

sshfs -o Ciphers=arcfour,compression=no,nonempty,auto_cache,reconnect,workaround=all user@development.net:/usr/local/gitdev/ ~/dev/code

এতে অটো ক্যাশে এবং আরকফোর চিপার ব্যবহার করে পুনরায় সংযোগযুক্ত পতাকা, সমস্ত sshfs workaround রয়েছে।

আপনি sshfs ম্যানুয়ালটিতে সেই বিকল্পগুলি সম্পর্কে পড়তে পারেন, আমি অন্তত আমার সেটআপে এই দ্রুততম sshfs বিকল্পগুলি পেয়েছি।

ইটিএ: এসএসএফএসের কর্মক্ষমতা সম্পর্কে আরও এখানে পড়ুন: এসএসএফএস কর্মক্ষমতা

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