النشر التلقائي لتطبيق Django عبر إجراءات Github

0

 يمكن استخدام إجراءات GitHub لنشر تطبيقات Django تلقائيًا إلى خادم بعيد. للقيام بذلك، ستحتاج إلى إنشاء تدفق عمل GitHub يتضمن الخطوات التالية:


  1. بناء التطبيق. سيؤدي هذا الخطوة إلى إنشاء إصدار قابل للنشر من التطبيق.
  2. نسخ التطبيق إلى الخادم البعيد. سيؤدي هذا الخطوة إلى نقل التطبيق إلى الخادم البعيد.
  3. تكوين التطبيق. سيؤدي هذا الخطوة إلى تكوين التطبيق ليتم تشغيله على الخادم البعيد.
  4. تشغيل التطبيق. سيؤدي هذا الخطوة إلى تشغيل التطبيق على الخادم البعيد.

فيما يلي مثال على تدفق عمل 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 في بناء ونسخ وتكوين وتشغيل تطبيقك تلقائيًا.
  • قم بإنشاء تدفق عمل مرن يمكنه التعامل مع التغييرات في تطبيقك. يجب أن يكون تدفق العمل الخاص بك قادرًا على التعامل مع التغييرات في الكود أو التكوين.
  • قم باختبار تدفق العمل الخاص بك بانتظام. تأكد من أن تدفق العمل الخاص بك يعمل كما هو متوقع قبل استخدامه لنشر تطبيقك في الإنتاج.

لا يوجد تعليقات

أضف تعليق