আমি কীভাবে ক্রোন জব তৈরি করব যা সাপ্তাহিক ভিত্তিতে আমার প্রকল্পের পরিবর্তনকে গিটে পরিণত করবে


8

আমি আমার প্রকল্পে পরিবর্তনগুলির একটি historicalতিহাসিক প্রতিলিপি তৈরির উদ্দেশ্যে গিট ব্যবহার করছি। আমি বুঝতে পারি এটি আদর্শ ব্যবহার নয় তবে এটি ব্যবহারের প্যাটার্নটি আমি বিভিন্ন কারণে বেছে নিয়েছি যা আমি সংক্ষিপ্ততার জন্য গ্রহণ করতে পারব না।

আমি কীভাবে ক্রোন জব তৈরি করব যা প্রতি দিন বা সপ্তাহে ভান্ডারগুলিতে পরিবর্তন আনতে বাধ্য হয়?

আমি উবুন্টু ১০.১০-তে গিটের সর্বশেষ সংস্করণটি ব্যবহার করছি।

উত্তর:


9
0 20 * * 0 /path_to_script

এটি /path_to_script'প্রতি রবিবার স্থানীয় সময় 20:00 এ নির্দিষ্ট কমান্ডটি (প্রতিস্থাপন ) চালাবে । ক্রোন কাজের জন্য বাক্য গঠনটি মোটামুটি সহজ, এবং এমন একটি স্মার্ট সরঞ্জাম রয়েছে যা আপনাকে কোডের অবস্থানগুলি মনে না রেখে এগুলি তৈরি করতে সহায়তা করবে।

এই ক্ষেত্রে, কমান্ডটি এমন একটি স্ক্রিপ্ট হওয়া উচিত যা আপনার জন্য কমিট পরিচালনা করে। আমি মনে করি ক্লোন ডিরেক্টরিতে পরিবর্তিত হয়ে দ্রুত শেল স্ক্রিপ্ট লিখতে এবং তারপরে কমিট পরিচালনা করা আপনার ক্ষেত্রে সবচেয়ে সহজ হবে। এখানে একটি ফাইল তৈরি করুন ~/commit.shএবং এটি এতে রাখুন ( /location/of/cloneঅবশ্যই প্রতিস্থাপন করা হচ্ছে)


#!/bin/sh
cd /location/of/clone
git-commit -m "commit message, to avoid being prompted interactively"

তারপরে chmod +x ~/commit.shএটিকে কার্যকর করার জন্য, এবং ক্রোন জবটি চালাতে হবে (এটি ব্যবহারের পরিবর্তে এটি সম্পূর্ণ পথ দ্বারা এটি উল্লেখ করে ~)।


ভাল উত্তর. মনে রাখবেন যে আপনার কম্পিউটার নির্দিষ্ট সময়ে (যেমন রবিবার 20:00) চলমান থাকলে ক্রোনজব (স্পষ্টতই) কেবলমাত্র কার্যকর হবে।
পাইবেলু

আমি কীভাবে এটি সার্ভারে ধাক্কা দিতে পারি?
জেসন

এছাড়াও আমি কীভাবে এটি যুক্ত করব এমন ফাইলগুলিকে আমি যুক্ত করব
জেসন

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

1
আপনি কি -aকমিট কমান্ডটিতে একটি যুক্ত করতে চান না , সুতরাং এটি মজাদার অঞ্চলে ইতিমধ্যে ট্র্যাক করা সমস্ত ফাইল স্বয়ংক্রিয়ভাবে যুক্ত হবে?
ভয়ঙ্কর

2

crontab -eআপনার ব্যবহারকারী ক্রোনজব সম্পাদনা করতে চালান , এবং এই লাইনটি সন্নিবেশ করান:

0 20 * * 0 (cd /path/to/myproject && git add . && git commit -m "Automatic Commit" && git push)

অবশ্যই আপনাকে একটি জিআইটি রেপোকে একটি ওয়ার্কিং রিমোট রিপোজিটরি সহ সেটআপ করতে হবে, তবে এটি এই প্রশ্নের সুযোগে নেই।

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