ماذا أحتاج إلى معرفته/التعلم لنشر بيثون الآلي؟

StackOverflow https://stackoverflow.com/questions/1537298

  •  20-09-2019
  •  | 
  •  

سؤال

أبدأ مشروع WebApp جديد في Python للدخول إلى عقلية Agile وأرغب في القيام بالأشياء "بشكل صحيح" فيما يتعلق بالنشر. ومع ذلك ، أجد الأشياء الافتراضية الكاملة/الأقمشة/zc.buildout/إلخ.

بعد النشر ، سيظهر إعداد الخادم شيئًا مثل:
Nginx --proxy-to--> WSGI Webserver (Spawning) --> WSGI Middleware --> WSGI App (probably MNML or similar)
مع خادم الويب Python يديره Supervisord.

أي نوع من إعداد/حزم/تطبيقات النشر يجب أن أبحث عنه؟ وهل هناك بنية دليل محددة أحتاج إلى الالتزام بتطبيقي لتخفيف النشر؟

هل كانت مفيدة؟

المحلول

لقد ذكرت بالفعل Buildout ، وهذا كل ما تحتاجه. Google على سبيل المثال بناء الأجزاء المختلفة. يستغرق بعض الوقت لإعداده في المرة الأولى ، ولكن يمكنك إعادة استخدام الإعداد بين المشاريع المختلفة أيضًا.

دع المشرف يبدأ كل شيء ، وليس فقط خادم بيثون. ثم ابدأ Supervisord في REBOOT إما Fron Cron أو init.d.

نصائح أخرى

تعتمد قصة النشر الخاصة بك على تطبيقك. هل تستخدم Django؟ ثم Apache + mod_wsgi مستندات النشر اجعل نقطة انطلاق جيدة. ثم يمكنك Google حول المزيد من التفاصيل ، مثل هذا 2 جزء سلسلة استخدام pip, virtualenv, git, ، و fabric.

حقًا، fabric, virtualenv, ، وجميع هذه الأدوات الأخرى مصممة لتسهيل الحفاظ على النشر وأتمتة. في البداية ، ربما تكون الخطوات من الوثائق كافية. بعد أن تشعر بشعور من كيفية عمل الأشياء ، يمكنك إعادة النظر في تحسين عمليتك.

لقد سمعت أشياء جيدة عنها قماش:

Fabric عبارة عن أداة مكتبة Python وأداة سطر الأوامر مصممة لتبسيط تطبيقات نشر أو مهام إدارة النظام عبر بروتوكول SSH. يوفر أدوات لتشغيل أوامر shell التعسفية (إما كمستخدم تسجيل الدخول العادي ، أو عبر sudo) ، تحميل الملفات وتنزيلها ، وهكذا دواليك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top