يمكن استخدام إجراءات GitHub لنشر تطبيقات Django تلقائيًا إلى خادم بعيد. للقيام بذلك، ستحتاج إلى إنشاء تدفق عمل GitHub يتضمن الخطوات التالية:
- بناء التطبيق. سيؤدي هذا الخطوة إلى إنشاء إصدار قابل للنشر من التطبيق.
- نسخ التطبيق إلى الخادم البعيد. سيؤدي هذا الخطوة إلى نقل التطبيق إلى الخادم البعيد.
- تكوين التطبيق. سيؤدي هذا الخطوة إلى تكوين التطبيق ليتم تشغيله على الخادم البعيد.
- تشغيل التطبيق. سيؤدي هذا الخطوة إلى تشغيل التطبيق على الخادم البعيد.
فيما يلي مثال على تدفق عمل GitHub يمكن استخدامه لنشر تطبيق Django تلقائيًا:
name: Deploy Django app
on:
push:
branches:
-
master
jobs:
build:
runs
-
on: ubuntu
-
latest
steps:
-
uses: actions
/
checkout@v2
-
name: Setup Python
uses: actions
/
setup
-
python@v2
with:
python
-
version:
3.9
-
name: Install dependencies
run: pip install
-
r requirements.txt
-
name: Build app
run: python manage.py build
deploy:
runs
-
on: ubuntu
-
latest
needs: build
steps:
-
uses: actions
/
checkout@v2
-
name: Setup SSH
uses: shaunzero
/
ssh
-
action@v1
with:
ssh
-
key: ${{ secrets.SSH_KEY }}
known_hosts: ${{ secrets.KNOWN_HOSTS }}
-
name: Copy app to server
run: |
ssh
-
i $SSH_KEY ubuntu@$SERVER_IP
"mkdir -p /var/www/my_app"
scp
-
i $SSH_KEY
-
r . ubuntu@$SERVER_IP:
/
var
/
www
/
my_app
-
name: Configure app
run: |
ssh
-
i $SSH_KEY ubuntu@$SERVER_IP
"cd /var/www/my_app && python manage.py migrate"
ssh
-
i $SSH_KEY ubuntu@$SERVER_IP
"cd /var/www/my_app && gunicorn my_app.wsgi:application --bind 0.0.0.0:8000"
سيؤدي هذا التدفق العمل إلى ما يلي:
- سيتحقق أولاً من وجود تغييرات على الفرع الرئيسي.
- إذا كانت هناك تغييرات، فسيؤدي إلى بناء التطبيق.
- بعد ذلك، سيستخدم SSH لنسخ التطبيق إلى خادم بعيد.
- أخيرًا، سيستخدم SSH لتكوين التطبيق وتشغيله على الخادم البعيد.
ستحتاج إلى تعديل هذا التدفق العمل لتتناسب مع إعدادك الخاص. على سبيل المثال، ستحتاج إلى تعيين متغيرات البيئة التالية:
SERVER_IP
: عنوان IP للخادم البعيد.SSH_KEY
: مسار مفتاح SSH الذي سيتم استخدامه للاتصال بالخادم البعيد.KNOWN_HOSTS
: ملف known_hosts للخادم البعيد.
بالإضافة إلى ذلك، ستحتاج إلى تعديل الخطوات في التدفق العمل لتتناسب مع تطبيقك الخاص. على سبيل المثال، قد تحتاج إلى تعديل الخطوة Build app
لتشمل بناء تطبيقك المخصص.
بمجرد إنشاء تدفق العمل، يمكنك تشغيله يدويًا أو تعيينه لتشغيله تلقائيًا عند حدوث تغييرات على الفرع الرئيسي.
فيما يلي بعض النصائح لنشر تطبيقات Django تلقائيًا عبر إجراءات GitHub:
- استخدم إجراءات GitHub لتبسيط عملية النشر. يمكن أن تساعدك إجراءات GitHub في بناء ونسخ وتكوين وتشغيل تطبيقك تلقائيًا.
- قم بإنشاء تدفق عمل مرن يمكنه التعامل مع التغييرات في تطبيقك. يجب أن يكون تدفق العمل الخاص بك قادرًا على التعامل مع التغييرات في الكود أو التكوين.
- قم باختبار تدفق العمل الخاص بك بانتظام. تأكد من أن تدفق العمل الخاص بك يعمل كما هو متوقع قبل استخدامه لنشر تطبيقك في الإنتاج.
ليست هناك تعليقات:
إرسال تعليق