انتقل إلى المحتوى
النوعإمكان جديد
المرحلةأسطول
مستوى الصعوبةمتوسط
المهمةبيئة فرع
لـفرق التطوير
الخدماتالحاويات
الخدماتاللقطات
لماذا Hoodyاقتصاديات الحاوية
لماذا Hoodyالسفر عبر الزمن باللقطات
النوعإمكان جديد
المرحلةأسطول
مستوى الصعوبةمتوسط
المهمةبيئة فرع
لـفرق التطوير
الخدماتالحاويات
الخدماتاللقطات
لماذا Hoodyاقتصاديات الحاوية
لماذا Hoodyالسفر عبر الزمن باللقطات
النوعإمكان جديد
المرحلةأسطول
مستوى الصعوبةمتوسط
المهمةبيئة فرع
لـفرق التطوير
الخدماتالحاويات
الخدماتاللقطات
لماذا Hoodyاقتصاديات الحاوية
لماذا Hoodyالسفر عبر الزمن باللقطات
النوعإمكان جديد
المرحلةأسطول
مستوى الصعوبةمتوسط
المهمةبيئة فرع
لـفرق التطوير
الخدماتالحاويات
الخدماتاللقطات
لماذا Hoodyاقتصاديات الحاوية
لماذا Hoodyالسفر عبر الزمن باللقطات
CONTAINERS · لقطات · معاينات PR

بيئة معاينة لكل pull request، الشهر بكامله، 30 دولاراً

التقط لقطة لحاوية الـ staging مرّة. كل PR جديد ينسخ اللقطة إلى حاويته الخاصة برابطه الخاص. الحاوية تستيقظ حين يفتح المراجع الرابط، تغفو حين لا أحد ينظر، وتُدمَّر بسطر cron واحد حين يُغلق الـ PR. ستّون فرعاً، ستّون رابطاً، وفاتورة ثابتة.

اقرأ توثيق اللقطات
CRON · حذف معاينات المدمجةسطر واحد، كل 5 دقائق
# حين يندمج طلب سحب، cron يسقط حاويته.*/5 * * * * curl -X DELETE https://api.hoody.com/api/v1/containers/$MERGED_PR_CID
سلالة اللقطاتأساس واحد · نسخ كثيرة
أساس STAGINGsnap-2026-05-01 · 4.2 GB
صفحات النسخ عند الكتابة مشتركة30 / 30 container

كيف يصبح الـ PR رابطاً

ثلاثة استدعاءات. سطر cron واحد. خط أنابيب CI الذي تملكه أصلاً يُشغّلها بالترتيب الذي ستكتبه بنفسك لو اضطُررت.

    01
    STEP 01 · ONCE

    التقط لقطة حاوية staging

    اختر الحاوية التي تُشغّل حزمة staging — التطبيق، قاعدة البيانات، الطوابير، البيانات الأوّلية. أرسل POST لقطة، سمّها staging-base. الملفات والعمليات والذاكرة تُلتقط. اللقطة نقطة بداية قابلة للتفريع، ليست tarball — النسخ تتقاسم صفحاتها بدلاً من نسخها.

    02
    STEP 02 · PER PR

    انسخ اللقطة عند الدفع

    خط CI يستقبل webhook دفع GitHub ويُرسل POST إلى API الحاويات مع source_snapshot=staging-base. حاوية جديدة تُقلع في ثوانٍ بقاعدة بيانات مزروعة وفرع الـ PR مفحوصاً. الرابط يعود كفحص حالة.

    03
    الخطوة 03 · عند الدمج

    دمّر حين يُغلق الـ PR

    إدخال cron مدّته 5 دقائق يمشي على الـ PRs المدمجة ويحذف حاوياتها — أو webhook الدمج يفعل ذلك مباشرة. دلتا قرص الحاوية تُستعاد، الرابط يتحرّر، وفتحة الحاوية تعود إلى المجمّع للـ PR التالي.

الخطوة 02 تستغرق وقتاً يقارب yarn install. الخطوة 03 استدعاء HTTP واحد. لا شيء آخر يحتاج أن يعرف أن حاوية الـ PR كانت موجودة.

نقاط النهاية الدقيقة التي يستدعيها CI

ثلاث نقاط نهاية حقيقية من Hoody Containers و Snapshots APIs. أسقطها في خطوة GitHub Actions التي تملكها أصلاً.

بيئة المعاينة · جدول الاستدعاءاتcontainers + لقطات
  • POSTmethod · path
    /api/v1/containers/[staging_id]/snapshots

    التقط لقطة staging-base

    Body: [ "alias": "staging-base", "expiry": 30 ]. يُعيد اسم لقطة مثل snap-20260501-093000. شغّل هذا مرّة لكل نشر فرع رئيسي — كل نسخة PR تنحدر من أحدث التقاط.

  • POSTmethod · path
    /api/v1/projects/[project_id]/containers

    انسخ حاوية طازجة لكل PR

    الـ body يختار server_id و container_image؛ مرّر environment_vars لحقن رقم الـ PR وفرعه واسم قاعدة البيانات. الحاوية تُقلع من نظام ملفات لقطتك، لا من الصفر — التخزين المؤقّت والبيانات الأوّلية موجودة بالفعل.

  • DELETEmethod · path
    /api/v1/containers/[pr_container_id]

    تقاعد المعاينة حين يُغلق الـ PR

    استدعاء واحد. الحاوية تتوقّف ودلتا قرصها تُستعاد؛ لا شيء آخر يحتاج إلى تفكيك. إدخال cron بإيقاع 5 دقائق يتعامل مع الـ PRs التي أُغلقت بينما لا ينظر أحد.

نقاط نهاية من Hoody Container Snapshots API و Containers API. انتهاء صلاحية اللقطة بالأيام؛ إنشاء الحاوية يقبل environment_vars و ssh_public_key و autostart و ramdisk و realm_ids — راجع التوثيق لمخطّط الطلب الكامل.

ما يتغيّر حين تكون المعاينات مجّانية

الحساب يتوقّف عن تقييد سلوك المراجع. ثلاث عادات كانت باهظة جداً عند 40 دولاراً للمعاينة تظهر من تلقاء نفسها بمجرد أن تصبح التكلفة لكل PR خطأ تقريب.

REVIEW VELOCITY

المراجعون يضغطون، لا يسحبون

لا أحد يفحص الفرع محلّياً ليُعيد إنتاج الخطأ. يفتحون الرابط، يضغطون الشيء المعطوب، يتركون لقطة شاشة في الـ PR. حلقة المراجعة تعمل على ما يفعله الكود فعلاً، لا ما يُلمّح إليه الـ diff.

BUDGET

الـ PRs الخاملة لا تكلّف شيئاً

خمسون PR لا يُراجعها أحد حالياً تكلّف صفر CPU وصفر RAM. تتقاسم صفحات لقطة staging-base على القرص، حتى بصمتها معظمها دلتا. الفاتورة محدودة بالصندوق، لا بعدد الـ PRs المفتوحة.

DESIGN & PRODUCT

أصحاب المصلحة ينضمّون إلى الحلقة

مصمّمك، مهندس الدعم، قائد المبيعات — أيّ شخص لديه الرابط يستطيع التلاعب بالـ PR. لم يكونوا أبداً سيُجرون git checkout للفرع. مع رابط، ينظرون فعلاً إلى التغيير قبل أن يصل.

حساب الدولار، بوضوح

فريق يفتح 30 PR شهرياً. الرقم قبل هو فاتورة بيئة المعاينة المعيارية. الرقم بعد هو صندوق Hoody معدن عارٍ واحد يتّسع للثلاثين كلّها بالإضافة إلى staging.

قبل · معاينات Vercel، فريق Pro

$480/mo

تسعير Pro لكل مقعد بالإضافة إلى دقائق البناء بالإضافة إلى عرض النطاق على فريق من 6 مهندسين يُشغّل 30 نشر PR شهرياً. معظم الفرق يُقيّدون المعاينات بالعشرة النشطة لأن العشرين التالية تكلّف مالاً حقيقياً.

VS
بعد · HOODY · صندوق معدن مجرد واحد

$30/mo

خادم متوسّط واحد من سوق Hoody يُشغّل staging بالإضافة إلى 30 نسخة PR بالإضافة إلى تخزين CI المؤقّت. أضف الستّين التالية بـ 0 دولاراً — copy-on-write يعني أن كل نسخة هي صفحات اللقطة بالإضافة إلى دلتا.

تسعير قائمة Vercel Pro هو 20 دولاراً/مقعد/شهرياً بالإضافة إلى الاستخدام؛ تسعير Hoody معدن عارٍ مدفوع بالسوق ويبدأ تحت 20 دولاراً شهرياً للفئات الأساسية. كثافة الحاويات تعتمد على عبء العمل — تطبيقات الويب النموذجية تتراكم بعشرات إلى مئات؛ الخدمات الكبيرة ذات الحالة تحتاج هامشاً أكبر.

بيئات المعاينة تتوقّف عن أن تكون بنداً في الميزانية. تصبح الافتراض.

قبل · محدود بـ 10 نشطةبعد · واحدة لكل طلب سحب
ما كانت السياسة القديمة تبدو عليهامعاينة فقط الأصوات الأكثر حدة 10 طلب سحبالعشرون الأخرى تحصل على لقطة شاشة في التعليق
ما يبدو عليه الآنكل طلب سحب · كل اختلاف · كل مراجعبلا وثيقة سياسة، بلا تذكرة تطلب معاينة
اطّلع على توثيق اللقطات

ما يستبدله هذا

منتجات بيئات المعاينة تُسعّر لكل مقعد، لكل دقيقة، أو لكل حاوية تعمل. Hoody يُسعّر لكل خادم — المعاينة الثلاثون تكلّف مثل الأولى.

  • بيئات المعاينة في Vercel (Pro / Enterprise)لكل مقعد بالإضافة إلى دقائق البناء بالإضافة إلى عرض النطاق
  • معاينات GitHub Codespacesفوترة بالساعة سواء نظر المراجع أم لا
  • مهام المعاينة في AWS Fargateساعات vCPU + ذاكرة لكل مهمة، بالإضافة إلى نقل البيانات
  • بيئات المعاينة في Renderتسعير لكل بيئة، الخمول ليس مجّانيّاً
  • تطبيقات المراجعة في Herokudyno واحد لكل PR، ساعات dyno لكل مراجعة
  • معاينات الـ deploy في Netlify + دقائق الـ buildدقائق البناء تقيس كل دفعة، لا كل مراجعة

التقط لقطة مرّة. انسخ لكل PR. دمّر عند الدمج. المراجع لا يشعر بالخياطة أبداً.

اقرأ دليل اللقطات

اقرأ حالات أخرى