আমি উত্পাদনে মোতায়েন করতে গিট পুশ ব্যবহার করি এবং স্ক্রিপ্ট চালানোর জন্য গিট হুক সেট আপ করি। এই পদ্ধতির সুবিধা হ'ল আপনি একই সময়ে আপনার স্থানান্তর এবং প্যাকেজ ইনস্টলেশনও করতে পারেন। https://mikeeverhart.net/2013/01/using-git-to-deploy-code/
mkdir -p /home/git/project_name.git
cd /home/git/project_name.git
git init --bare
তারপরে একটি স্ক্রিপ্ট তৈরি করুন /home/git/project_name.git/hooks/post-receive
।
#!/bin/bash
GIT_WORK_TREE=/path/to/project git checkout -f
source /path/to/virtualenv/activate
pip install -r /path/to/project/requirements.txt
python /path/to/project/manage.py migrate
sudo supervisorctl restart project_name
নিশ্চিত করুন chmod u+x post-receive
, এবং sudoers ব্যবহারকারী যোগ করুন। sudo supervisorctl
এটি পাসওয়ার্ড ছাড়াই চালানোর অনুমতি দিন । https://www.cyberciti.biz/faq/linux-unix-running-sudo-command-without-a-password/
আমার স্থানীয় / বিকাশ সার্ভার থেকে, আমি সেট আপ করেছি git remote
যা আমাকে প্রোডাকশন সার্ভারে চাপ দিতে দেয়
git remote add production ssh://user_name@production-server/home/git/project_name.git
# initial push
git push production +master:refs/heads/master
# subsequent push
git push production master
বোনাস হিসাবে, আপনি স্ক্রিপ্টটি চলার সাথে সাথে সমস্ত প্রম্পটগুলি দেখতে পাবেন। সুতরাং আপনি দেখতে পাবেন যে মাইগ্রেশন / প্যাকেজ ইনস্টলেশন / সুপারভাইজার পুনরায় আরম্ভের সাথে কোনও সমস্যা আছে কিনা।
kill -HUP
পিআইডি প্রক্রিয়া করব না , পরিবর্তে সুপারভাইসেক্টল ব্যবহার করব। যদিও এটি অনেক কিছু পরিবর্তিত হয় না।