গিট পুশ ইন প্রোডাকশন (এফটিপি)


130

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

উত্তর:


162

গিট উইকিতে সম্প্রতি কিছু সরঞ্জাম যুক্ত হয়েছে :

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

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


3
গিট-এফটিপি ব্যবহার করে, নির্দিষ্ট এফটিপি ডিরেক্টরিতে কেবল একটি উপ-ডিরেক্টরিকে (যেমন এইচটিএমএল 5 বয়লারপ্লেটের প্রকাশিত ফোল্ডার) ধাক্কা দেওয়ার কোনও উপায় আছে কি?
গ্যাং

আর দলে বেশ কয়েকজন ডেভেলপার থাকলে কী হয়। এই স্ক্রিপ্টগুলি ব্যবহার করা কি এখনও সম্ভব?
ট্রিলিপুট

@ ট্রিলিপুট: এখানে একটু দেরি হয়েছে, তবে হ্যাঁ, নেটওয়ার্কে একটি মধ্যবর্তী সার্ভার / ভিএম
প্রণব 웃

github.com/banago/PHPloy একই রকম কাজ করে তবে সাবমডিউলগুলির সাথে কাজ করে, যা আমি সন্দেহ করি যে উল্লিখিত কিছু সরঞ্জামের সাথে লড়াই করতে পারে।
সাইমন পূর্ব

গিট-এফটিপি (মূল স্ক্রিপ্ট বা অজগর নয়) এর মূল সমস্যাটি আমি চেষ্টা করেছি যে বড় ফাইলগুলি এবং ফাইলগুলির দীর্ঘ তালিকা আপলোড করার সময় এটি খুব খারাপ হয়েছিল।
indianwebdevil

14

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

এখানে চিত্র বর্ণনা লিখুন


@ জুলিক্স নিবন্ধের জন্য উল্লিখিত।
গেরি বোর্বস

11

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

https://github.com/banago/PHPloy

git commit ...
phploy -s staging
phploy -s production

সম্পন্ন!

(অস্বীকৃতি: কিছুক্ষণ ব্যবহারের পরে আমি এখন কিছু কোড প্যাচ এবং উন্নতি করেছি, এটি উইন্ডোজ সামঞ্জস্যপূর্ণ করে তুলেছি))


10

আপনি যদি ম্যাক হয়ে থাকেন এবং ট্রান্সমিট করেন তবে আমি নীচের গিট-ট্রান্সমিট স্ক্রিপ্টটি সুপারিশ করব ( https://gist.github.com/379750 )। এটি সর্বশেষ আপডেট হওয়া ফাইলগুলি প্রেরণের জন্য ডকসেন্ড ব্যবহার করে। আপনি যদি ডকসেন্ডের সাথে পরিচিত না হন তবে http://www.panic.com/blog/2010/11/15-secrets-of-transmit/ দেখুন

সেটআপ:

  1. সিপি গিট-ট্রানজিট / ইউএসআর / এসবিন /।
  2. সিডি / ইউএসআর / এসবিন
  3. chmod + x git-transmit
  4. আপনার লাইভ অ্যাপের জন্য সেটআপ ড্রপ প্রেরণ
  5. আপনার গিট সংগ্রহস্থলে গিট-ট্রান্সমিট চালান।

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

এটি ছাড়াও আপনি কেবল ট্র্যাকড এবং অননুমোদিত ফাইলগুলি প্রেরণ করতে চাইতে পারেন। এখানে একটি ছোট স্ক্রিপ্ট যা কেবল এটি করে: gist.github.com/borisdiakur/37b8f512f6f8865b79c7
বোরিসদিয়াকুর

5

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

আপনার যদি কোনও ধরণের সংকলন বা প্রক্রিয়াজাতকরণ থাকে তবে আপনার পিঁপড়া , মাভেন , বিল্ডআর , এসবিটি ইত্যাদির দিকে নজর দেওয়া শুরু করা উচিত


29
এটির সাথে একমাত্র সমস্যা হ'ল যখন আপনার প্রোডাকশন সার্ভারটিতে অ্যাক্সেস নেই, অর্থাত্ এটি কেবলমাত্র এফটিপি অ্যাক্সেস সহ সাধারণ শেয়ারিং হোস্টিং হতে পারে।
ডজি_কোডার

4

আপনি Deployhq.com ব্যবহার করতে পারেন এটি একটি কবজির মতো কাজ করে, কেবল আপনার रिपাইজিটরি এবং এফটিপি অ্যাকাউন্ট সেটআপ করা দরকার।

তারা বর্তমানে নিম্নলিখিত সংস্করণ নিয়ন্ত্রণ সিস্টেম:

গিট, সাব্ভারশন, মার্কুরিয়াল।

হোস্ট করা ভান্ডার সহ

  • GitHub
  • বিট বালতি
  • GitLab
  • কোডবেস

এখানে চিত্র বর্ণনা লিখুন




1

এখানে রুবি স্ক্রিপ্ট রয়েছে - এফটিপি বা এসএসএইচের মাধ্যমে রুবি গিট-মোতায়েন যা এফটিপি বা এসএসএইচের মাধ্যমে গিট রেপোতে কেবল পরিবর্তিত ফাইলগুলি আপলোড করে।

অন্য উত্তরে যেমন উল্লেখ করা হয়েছে, এখানে পাইথন git-ftp.py স্ক্রিপ্ট যা একই কাজ করে।

এবং এখানে git-ftp এর শেল স্ক্রিপ্ট সংস্করণ ।

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


0

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

কোনও ইভেন্টে, .RPM (বা EXE বা যাই হোক না কেন) নির্মিত, আপনি এটি কেবল উত্পাদন সিস্টেমে এফটিপি করতে পারেন এবং এটি অন্য প্যাকেজের মতো ইনস্টল করতে পারেন।


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

0

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



0

আমি এটি বের করার জন্য অনেক লড়াই করছিলাম। এটি বিভিন্ন উত্স ( git-ftpINSTALL , git-ftpUPLOAD , git-ftpIssue , git-ftpPUSH ) থেকে এটি করার সহজ উপায়টি আমি বের করেছি । আপনি রেফারেন্সের জন্য পড়তে পারেন তবে প্রয়োজন নেই কারণ আমি নীচে ধাপে প্রক্রিয়াটি উল্লেখ করেছি।

প্রথম জিনিস: ম্যাক ওএসে ব্রিউ ব্যবহার করে গিট এবং কার্ল ইনস্টল করুন

brew install git
brew install curl --with-ssl --with-libssh2
brew install git-ftp

নিম্নলিখিত আদেশগুলি চালান:

git clone https://github.com/git-ftp/git-ftp.git
cd git-ftp
git tag # see available tags
git checkout <tag> # checkout the latest tag by replacing <tag>
sudo make install

গিট ব্যবহার করে আপডেট করা হচ্ছে

git pull
git tag # see available tags
git checkout <tag> # checkout the latest tag by replacing <tag>
sudo make install

সেটআপ

git config git-ftp.url YourFtpServerName.Net
git config git-ftp.user FtpUserName
git config git-ftp.password YourPassword

সমস্ত ফাইল আপলোড করুন

git ftp init

অথবা যদি ফাইলগুলি ইতিমধ্যে থাকে

git ftp catchup

কাজ এবং মোতায়েন

echo "Hello StackOverflow" >> index.txt
git commit application/libraries/index.txt -m "I love StackOverflow"
git ftp push

যদি কোনও ত্রুটি থাকে: পাথস্পেক 'index.txt' গিট হিসাবে পরিচিত কোনও ফাইল (গুলি) এর সাথে মেলে না । এর অর্থ ফাইলটি এখনও মঞ্চায়িত হয়নি, সুতরাং ফাইলটি যুক্ত করুন এবং তারপরে কমিট করার চেষ্টা করুন।

git add application/libraries/index.txt
git commit application/libraries/index.txt -m "I love StackOverflow"

আশাকরি এটা সাহায্য করবে.


0

আপনি FTPloy চেষ্টা করতে পারেন ...

https://ftploy.com

"গিটহাব বা বিটবকেটে পরিবর্তন ঠেলাও।"

"আপনার সার্ভারে স্বয়ংক্রিয়ভাবে পরিবর্তনগুলি স্থাপন করুন"

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


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

0

পরীক্ষা করে দেখুন https://gitftp-deploy.com/ আপনি MacOS এর এবং আপনার GUIs মত থাকে।

এটি একটি দুর্দান্ত ছোট অ্যাপ্লিকেশন যা গিটকে পরিবর্তনগুলি ট্র্যাক করতে এবং কেবল পরিবর্তিত ফাইলগুলি এফটিপি দিয়ে আপলোড করতে ব্যবহার করে।

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

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