رعاية على مستوى البايت
ملحوظة
يوجد حاليًا 14 من سير العمل في هذا المستودع.
كيف تعيش مع مشاكل الصفر من خلال السيطرة الكاملة.
- تحليل مقدمي الخدمات قبل اختيار واحد
- راقب مقدمي الخدمة الخاص بك
- التعاون عن كثب مع مقدمي الخدمات الخاص بك
- تعرف على كل جزء من البرامج على الخادم الخاص بك ومؤلفه ؛ قم بإلغاء تثبيت أي شيء غير مطلوب
- راقب كل عملية على الخادم الخاص بك مع اختبارات وظيفية ، وليس فقط الأصوات
- قم بتشغيل أدوات QA على كل بايت من مستودعات GIT الخاصة بك
- تعرف على تبعياتك (الحزم) ومؤلفيها
- نشر 100 ٪ تلقائيا
- تشغيل بيئات الإنتاج دون تدخل بشري
- كن متحفظًا مع إصدارات البرامج عند الترقية
انظر بنية تحتية خاصة لتطبيقات الويب
دعم عملي
يرجى التفكير في دعم عملي إذا كنت تستفيد من هذه المعرفة.
شكرًا لك!
CI
كيفية تصميم وتنفيذ التكامل المستمر.
يمكنك العثور على سير عمل CI كامل في هذا المستودع.
- قم بتشغيل حاوية مسبق أو تثبيت حزم نظام التشغيل
- عرض معلومات البيئة
- تعيين بيانات الاعتماد الوصول
- السيطرة على الإصدار
- الالتزام git
- رسالة ارتكاب
- عنوان العلاقات العامة
- ذاكرة التخزين المؤقت OS وحزم مكتبة لغة البرمجة
- تحقق من توافق لغة البرمجة والإطار
- تحقق من تكوين إدارة الحزمة (التحقق من صحة وتطبيع)
- تحقق من الحزم القديمة ونقاط الضعف الأمنية المعروفة
- بناء رمز
- تكوين التطبيق
- 0⃣ على مستوى البايت
- تحقق من تنفيذ وضع ملف الملف
- ابحث عن شخصيات غير ASCII (الحروف الحرارية غير الإنجليزية ، أحرف المسافة البيضاء ، أحرف التحكم)
- 1⃣ أخطاء بناء الجملة
- تحقق من رمز المصدر لأخطاء بناء الجملة
- تحقق من ملفات القالب لأخطاء بناء الجملة
- 2 - وحدة التشغيل والاختبارات الوظيفية
- 3⃣ تحليل ثابت
- تشغيل تحليل ثابت: phpstan
- كاشف الرقم السحري
- كاشف النسخ
- 4⃣ معايير الترميز
- تحقق من نمط الترميز
- الالتزام بالمحرر
- قياس تغطية الرمز
- تحقق من طرق المسار (وحدات التحكم في الطرق)
- تحقق من قائمة الملفات الموزعة
- تحقق من الإملاء: الأخطاء المطبعية
- الشيكات المخصصة والتحذيرات
- عرض سجلات في إخراج CI أو سجلات التحميل كقنين
- ابدأ القرص المضغوط بواسطة SSH-ing إلى خادم خاص (
restrict,command في extred_keys و DenyUsers في sshd.conf) - امسح البيانات الحساسة
قرص مضغوط
كيفية تصميم وتنفيذ التسليم المستمر.
- قيود ممكن:
- اختبارات ناجحة
- لا تعمل على PR-S
- ريبو لدينا
- فرع محدد
- علامة في رسالة الالتزام
[deploy:prod] - نشر التزام الرأس فقط
- البداية اليدوية الاختيارية (الإجراءات اليدوية gitlab)
- لا تعمل كمستخدم جذر
- استمر في نشر التكوين في ملف
- قم بتسجيل كل إخراج إلى ملف ، وبدء السجل والانتهاء إلى syslog
- الحد من وقت التنفيذ من خطوات المستهلكة للوقت (مهلة)
- اختياريا احتياطي ملفات المشروع قبل البدء في النشر
- قم بإنشاء مستخدم روبوت على الخادم للوصول إلى GIT باستخدام SSH Key (
@companybot ) - قائمة التغييرات في ملفات المشروع الحالية
- تحقق من وضع الصيانة ، وقم بتشغيل وضع الصيانة
php artisan down الذي يغطي مورد ثابت ، وصفحة ، و Ajax و API طلبات - Clear Caches (التكوين ، الطرق ، التطبيق ، القالب وما إلى ذلك)
- انتظر حتى الانتهاء وتعطيل وظائف cron وعمال الخلفية بعد تطهير التخزين المؤقت (البريد الإلكتروني أنابيب إلى البرنامج)
- تحديد مستودع GIT والفرع
- الخروج عن طريق الالتزام بالتجزئة (وليس عن طريق رأس الفرع)
- على الأقل ترسد رمز المصدر
- لا تنشر حزم الاختبار
- تمكين تحسينات الإنتاج في مدير الحزم
- بناء رمز
- تشغيل ترحيل قاعدة البيانات
- قم بإيقاف تشغيل وضع الصيانة
- Populate Caches (التطبيق ، Opcache ،
wp rewrite flush ) - قم بتشغيل ما لا يقل عن اختبار وظيفي أساسي أو وحدة (مثل تسجيل الدخول أو عرض لوحة القيادة)
- تحقق من إخراج HTML
- تكوين sudo خاص لإعادة تحميل PHP-FPM أو cachetool
- تنبيه على الفشل
- "كان لأسفل لمدة س ثوان"
- أرسل إشعار البريد الإلكتروني أو الركود أو Trello أو Google Hangouts
تحليل ثابت مع phpstan
- الامتدادات
-
phpstan/phpstan-strict-rules -
phpstan/phpstan-deprecation-rules -
dave-liddament/sarb -
ekino/phpstan-banned-code -
tomasvotruba/type-coverage -
pepakriz/phpstan-exception-rules -
canvural/larastan-strict-rules -
schlndh/maria-stan - مستودعات البطولة