يعني التكامل المستمر أنه منذ اللحظة التي تبدأ فيها مشروعك ، يتم نشر Comminent Commits إلى Main تلقائيًا. النشر المستمر يعني أنه منذ اللحظة التي تبدأ فيها مشروعك ، لديك دائمًا بناء مباشر لتطبيقك في حاوية على خادم بعيد مع اتصال عام آمن.
بعد تشغيل ezinnit ، سيتم تشغيل الويب الخاص بك على الخادم الخاص بك ، والعيش في مجال HTTPS الذي تختاره والمستقبلي الذي يرتكز على فرعك الرئيسي سيتم نشره تلقائيًا على التطبيق المباشر.
في عملية تلقائية تمامًا ، يقوم Ezinnit بتهيئة ويدفع خط أنابيب GitLab ودفع خط أنابيب النشر ثم يقوم بتثبيت Dokku وعداء Gitlab على الخادم الخاص بك. تم تكوين مستودع GITLAB الخاص بك لنشر أي ارتكاب تلقائيًا إلى فرعك الرئيسي إلى الخادم الخاص بك ، حيث يتم تصميم تطبيقك تلقائيًا في حاوية ويتم تقديمه في مجال HTTPS العام.
يتضمن Ezinnit قوالب تطبيقات لمشاريع Django و Flask و Fastapi الجديدة. هذه القوالب مخصصة لبدء مشاريع جديدة تمامًا ، وإنشاء موقع عمل تم نشره.
سيتم نشر التطبيقات التي تعرفها ، لأنها يتم نشرها دائمًا.
لتنزيل وتثبيت ezinnit:
في دليل الجذر لمشروعك ، قم بتشغيل:
mkdir ezinnit
wget https://raw.githubusercontent.com/johnsyncs/ezinnit/main/ezinnit -P ezinnit
bash ezinnit/ezinnit
سيُطلب منك:
- اسم المستخدم Gitlab
- مجال gitlab (إذا كان حسابك مع gitlab.com ، فإن مجال gitlab هو
gitlab.com ) - رمز الوصول الشخصي gitlab
- اسم التطبيق (يصبح أيضًا اسم مستودع GitLab الخاص بك)
- عنوان IP لخادمك البعيد
- المجال أو النطاق الفرعي الذي ترغب في الإشارة إليه إلى تطبيقك الجديد ، على سبيل المثال:
mynewapp.mydomain.com - عنوان البريد الإلكتروني لاستخدامه للتسجيل مع Letsencrypt
- قالب التطبيق الاختياري: Django ، قارورة أو fastapi
متطلبات:
- بيئة افتراضية بيثون مع تثبيت تطبيقك (أو لصنع مشروع Django من الصفر ، انظر أسفل ReadMe)
- غيت
- حساب gitlab (يجب التحقق من حسابات gitlab.com لاستخدام المتسابقين gitlab ، ولكن التحقق مجاني)
- خادم يعمل Ubuntu 18.04/20.04/22.04 كيفية إنشاء قطرة محيط رقمية
- مفتاح SSH الخاص بجهازك المحلي مسجل على Gitlab
- تمت إضافة مفتاح SSH الخاص بجهازك المحلي إلى المضيفين المسموح بهم لخادمك الجديد (البرنامج التعليمي للمحيط الرقمي)
- لكي يعمل مجالك ، تحتاج إلى سجل DNS "A" يشير إلى نطاقك إلى عنوان IP الخادم الخاص بك (إنشاء سجل DNS "A" قبل تشغيل Ezinnit)
تحذير!
- هذا البرنامج النصي ينشئ مفاتيح SSH جديدة على الخادم البعيد!
- إذا قمت بتحديد قالب تطبيق ، فسيقوم Ezinnit بكتابة الملفات ، بما في ذلك procfile ، settings.py ، main.py ، إلخ. فقط استخدم القوالب للمشاريع الجديدة.
ما يفعله ezinnit
- يتحقق من ezinnit.config ، إذا لم يكن موجودًا ، فإنه يطالبك بالقيم ويقوم بإنشاء ملف ezinnit.config
- إذا لم يكن هناك .gitignore في دليل المشروع الخاص بك ، يستخدم TopTotal لإنشاء ملف .gitignore
- يقوم برنامج تشغيل تطبيق App Template إذا قمت بتحديد واحد (يتم تضمين Django و Flask و Fastapi في هذا الإصدار)
- ينشئ خط أنابيب gitlab للنشر الآلي (.gitlab-ci.yml) في دليل المشروع الخاص بك
- إذا لم يكن هناك ملف متطلبات
- تهيئة مستودع GIT ، ويضع الفرع الأولي إلى Main ، ويقوم بتعيين عن بُعد إلى مستودع GitLab الجديد ، ويرتبط ويدفع إلى Gitlab
- يحصل على الرمز المميز للمستودع الجديد من Gitlab
- نسخ ezinnit.config إلى الخادم
- يقوم تشغيل البرنامج النصي لتهيئة الخادم على الخادم البعيد ، والذي يقوم بما يلي:
- ينشئ مفاتيح SSH جديدة على الخادم
- تحميل مفاتيح SSH الخاصة بـ Server إلى مستودع GitLab
- ينزل وتثبيت Dokku على الخادم (هذا يستغرق بضع دقائق)
- ينشئ تطبيق Dokku على الخادم
- يضبط المجال لتطبيق Dokku على الخادم
- يعين منفذ التطبيقات إلى 80: 5000 على الخادم
- تنزيل وإنشاء عداء gitlab على الخادم
- يسجل عداء gitlab على الخادم
- يقوم بتنزيلات وتثبيت Dokku-LetSencrypt على الخادم
- يتيح تشفير التطبيق على الخادم مع شهادة TLS من LetSenCrypt على الخادم
- يضيف وظيفة Chron على الخادم لتجديد شهادات TLS تلقائيًا
- بالنسبة لـ Django و Flask و Fastapi ، يقوم بإنشاء برنامج نصي ويديره:
ezrun للعثور على منفذ مفتوح وتشغيله محليًا في بيئة التطوير - عند اكتمال Ezinnit ، ستبدأ GitLab تلقائيًا في نشر تطبيقك على الخادم الخاص بك. ستمنحك Ezinnit رابطًا لمستودعك الجديد حيث يمكنك التحقق من حالة النشر.
للعثور على منفذ مفتوح وتشغيل Django أو Flask أو Fastapi Ezinnit Apps محليًا في بيئة التطوير:
انتشر الآن وإلى الأبد
استخدم Ezinnit كلما بدأت مشروع WebApp جديد. عند دفع زر ما ، سيبدأ مشروعك بمستودع GitLab الذي ينشر تلقائيًا Main يرتكز على حاوية على الخادم الذي تختاره ، حيث يعمل تطبيقك ومتاح في المجال الذي تختاره.
يمكنك الآن تطوير للبيئة الحقيقية التي يهدف تطبيقك إلى التعليقات الفورية حول كيفية تأثير التغييرات على قابلية الاستخدام في العالم الحقيقي. أنت تعرف على الفور ما إذا كان تطبيقك سيبني في حاوية وكيف سيتصرف على خادم مباشر.
بيئة الإنتاج الآمنة هي الافتراضي ، ووضع التطوير هو الاستثناء - مما يجعل التطوير آمنًا.
عندما تبدأ مشروعًا مع Ezinnit ، فأنت تقوم حقًا بـ CICD. من اليوم الأول ، تضغط على الأرض مع تطبيق مباشر على الخادم الخاص بك على نطاقك الخاص ، حتى تتمكن من التركيز على ما يمكنك القيام به فقط.
لبدء مشروع Django من الصفر:
mkdir ezinnit
wget https://raw.githubusercontent.com/johnsyncs/ezinnit/main/ezinnit%20template%20scripts/django.innit -P ezinnit
bash ezinnit/django.innit
جون هيويت
روبرت كارول