التحكم في المصدر

انشر من المستودع الذي تستخدمه بالفعل — تسعة أماكن لوضعه فيها

اربطوا حساب GitHub أو GitLab الذي تعملون به وانشروا مباشرةً من أي فرع: إلى Cloudflare Pages أو GitHub Pages أو GitLab Pages أو Netlify أو Vercel أو Render أو Azure Static Web Apps أو AWS Amplify — أو إلى استضافتنا المدارة الخاصة، حيث يظل المستودع وملفات الموقع متزامنين في كلا الاتجاهين. يعرض كل اتصال الامتيازات التي يتطلبها، ويتم التحقق منه مقابل واجهة برمجة التطبيقات الخاصة بالمزود قبل تخزينه، ويبقى محفوظًا في Vault. كما يمكنكم تسجيل الدخول باستخدام GitHub أو GitLab أيضًا.

إيداع ينتقل عبر مسار الإجراءات من مستودع إلى موقع مباشر.
  • GitHub + GitLabاربط الحساب المتوفر لديك بالفعل
  • تسع وجهاتثمانية مضيفين طرفيين، بالإضافة إلى أسطولنا الخاص
  • مزامنة ثنائية الاتجاهكل موقع، كل سطر
  • مخزّن في Vaultتم التحقق عند الإدخال، ولم يتم في السجل مطلقًا
  • تم التحقق من الرمز قبل تخزينهالرمز المميز ذو النطاق المفرط لا يصل أبدًا
  • ادفع للنشرتم التحقق من التوقيع، واختياري
  • فرعك، بناؤكانشر دليلاً أو شغّل الـ CI الخاص بك
  • قطع الاتصال بطريقة نظيفةنزيل الخطاف الذي أنشأناه بدقة

اتصل لمرة واحدة، واطلع على ما توافق عليه

الاتصال هو بيانات اعتماد تسلّمونها لشخص آخر. اتصالنا يوضح ما يحتاجه قبل إنشائه، ويُثبت أنه يعمل قبل تخزينه، ويمكن إلغاؤه من كلا الطرفين.

الامتيازات، موضحة مسبقاً

قبل أن تنشئوا رمزًا مميزًا، نخبركم بما يجب أن يكون قادرًا على فعله ولماذا. لا نطاق شامل لمجرد أنه كان من الأسهل طلبه، ولا اكتشاف بعد فوات الأوان أننا أردنا أكثر مما تتطلبه المهمة.

تم التحقق منه لدى المزود، ولم يُقبل على سبيل الثقة العمياء

نقوم باستدعاء واجهة برمجة التطبيقات (API) الخاصة بمزود الخدمة باستخدام الرمز المميز الخاص بكم قبل تخزينه. يتم رفض الرمز غير الصحيح أو منتهي الصلاحية أو ذي النطاق غير السليم عند النموذج بدلاً من قبوله وإظهاره كرمز سليم ثم فشله عند أول نشر فعلي.

مخزنة في Vault، ولا مكان آخر

ليس في التعليمات البرمجية الخاصة بنا، ولا في ملف البيئة، ولا في سجل، ولا على سطر الأوامر. يتم حله في لحظة استخدامه، بواسطة عبء العمل الذي يستخدمه.

أكثر من حساب، يتم اختياره لكل موقع

اربط حسابًا شخصيًا بحساب مؤسسة، أو اربط حسابي مؤسستين. يختار كل موقع الحساب الذي ينشر منه، وبذلك لا يشترك مستودع العميل مع مستودعكم في بيانات الاعتماد أبدًا.

تسعة أماكن يمكن أن يستقر فيها المستودع

ثمانية مضيفين مُدارين على الحافة وأسطولنا الخاص. الوجهة هي خاصية للموقع وليست للاتصال، لذا يمكن لنفس المستودع نشر فرع واحد إلى مضيف Pages ويمكن تشغيل موقع آخر على أجهزتنا.

Cloudflare Pages

عرض نطاق ترددي غير محدود، واستخدام تجاري مسموح به، ونطاقات رئيسية تتم إدارتها عبر نفس المزود الذي يستضيف عادةً منطقة DNS الخاصة بكم. إنه الخيار الأول الذي نلجأ إليه لهذه الأسباب.

استضافة Cloudflare Pages →

GitHub Pages

انشروا مباشرة من المستودع الذي يوجد به الكود بالفعل. تم وضع علامة عليه في سطر Footprint-Free، لأن البنية التحتية المشتركة لـ github.io تُعد في حد ذاتها أثرًا لمحركات البحث.

استضافة GitHub Pages →

GitLab Pages وNetlify وVercel والبقية

تُعد كل من GitLab Pages وNetlify وVercel وRender وAzure Static Web Apps وAWS Amplify وجهات يمكنك توجيه الموقع إليها، باستخدام نفس الاتصال وسجل النشر نفسه.

استضافة المواقع الثابتة →

استضافتنا المدارة الخاصة

تطبيق كامل بدلاً من حزمة مجمّعة — WordPress وPHP وNode. هذه هي الوجهة التي تحصل على مزامنة ثنائية الاتجاه، لكي تظل الملفات الموجودة على الجهاز وعلى الفرع متطابقة.

استضافة مُدارة →

مواقع على حافة شخص آخر

الموقع الذي يُنشر على مضيف لا نملكه يظل يستهلك من حصتكم ويستمر بالظهور في لوحة التحكم الخاصة بكم مع عمليات النشر، ووقت التشغيل، وبيانات تحسين محركات البحث (SEO) الخاصة به إلى جانب كل ما تقومون بتشغيله.

الحصص المخصصة للمواقع الخارجية →

أو قم بتعديله هنا

يعمل المحرر داخل المتصفح على نفس الملفات التي تدفعها المزامنة ثنائية الاتجاه، وبالتالي يصبح أي إصلاح سريع من لوحة التحكم بمثابة إيداع (commit) على فرعكم بدلاً من تغيير لا يمكن لأحد العثور عليه لاحقاً.

محرر الويب →

مزامنة ثنائية الاتجاه

مستودعك وموقعك المباشر، في تزامن تام

قم بتشغيله وسيتم إيداع ملفات الموقع الخاصة مجددًا في فرعكم، بينما تعود الإيداعات الموجودة في ذلك الفرع إلى الموقع. يعمل هذا على كل موقع نستضيفه، وعلى كل سطر — المطلب الوحيد هو أن يتمكن الجهاز الأساسي من تشغيل Git مقابل ملفاته، وهو أمر يُطلب من الخادم بدلاً من افتراضه من الخطة.

أنت من يختار المجلد الذي تتم مزامنته، لأن عميل WordPress يريد تتبع قالبه وليس أربعين ألفاً من ملفات النظام الأساسية. ويكون المجلد معطلاً حتى تقوم بتفعيله: فتمكين المزامنة هو قرار يتعلق بمستودع شخص آخر، ولا يجب لعملية الترحيل أبداً أن تتخذه نيابة عنك.

  • تصبح التعديلات على أجهزتنا عمليات إيداع على فرعك
  • تعود الإيداعات الموجودة على فرعك إلى الموقع
  • مزامنة دليل واحد — قالب، أو إضافة — وليس جذر المستند بالكامل
  • معطل افتراضيًا، بما في ذلك في كل موقع موجود بالفعل
ملف مفتوح في محرر مع عرض الملف نفسه كإيداع (commit) في مستودع.

انشر دليلاً، أو دع نظام التكامل المستمر (CI) الخاص بك يبنيه

وضعان، والفرق بينهما هو مكان تشغيل عملية البناء. ينتهي كلاهما عند نفس النقطة: مرجع نجلبه وننشره، مع تسجيل الإيداع مقابل النشر.

  • يأخذ وضع النشر فرعك كما هو وينشر الدليل الذي تحدده — ترك الحقل فارغًا يعني جذر المستودع.
  • يقوم وضع CI بتشغيل أمر البناء الخاص بكم في مسار التجهيز التابع لمزودكم، ويقوم بإيداع المخرجات في فرع نشر منفصل، نقوم بجلبه مثل أي مرجع آخر.
  • يُذكر دائمًا الفرع الذي ينشر منه النشر صراحةً بالاسم، ولا يُشار إليه أبدًا بـ "الفرع الافتراضي" — فالفرع الافتراضي قد يتغير دون علمكم، والسجل الذي لا يمكنه تحديد الفرع الذي نشره لا يُعد سجلاً حقيقيًا.
  • يكون النشر التلقائي مفعّلًا بشكل افتراضي ويمكن إيقافه دون إزالة الـ webhook، بحيث يمكنك مراقبة وصول عمليات التسليم قبل السماح بتنفيذها.
  • يسجل كل نشر التزامه ونتيجته ووقته، ويعمل في الخلفية — يتم تحديث الصفحة عند اكتمال عملية البناء.
  • يؤدي إلغاء الاتصال إلى إزالة الويب هوك الذي أنشأناه بدقة، بواسطة معرفه، ولا يزيل أي شيء آخر في مستودعكم.

من المستودع إلى الموقع المباشر

  1. ربط الحساب

    GitHub أو GitLab، ضمن اتصالات. يتم سرد الامتيازات قبل إنشاء الرمز المميز ويتم التحقق منه مع المزود قبل تخزينه.

  2. توجيه موقع إلى مستودع

    المالك، والمستودع، والفرع، وما إذا كنا سننشر دليلاً أو نجلب ما أنشأه التكامل المستمر (CI) الخاص بكم. نقوم بتسجيل خطاف الويب الخاص بالدفع (push webhook) كجزء من ذلك.

  3. ادفع، أو اضغط على الزر

    يبدأ الدفع (push) إلى الفرع المحدد عملية النشر، أو يمكنك النشر عند الطلب من علامة تبويب النشر الخاصة بالموقع. تعمل عمليات البناء في الخلفية.

  4. شاهِده، وأعِد المزامنة إذا كنت ترغب في ذلك

    يعرض سجل النشر ما تم نشره وتاريخ نشره. قم بتشغيل المزامنة ثنائية الاتجاه وستظهر التعديلات التي تجريها هنا كإيداعات في فرعك.

عند حدوث خطأ ما

"متصل ولكن لم يتم التسليم أبداً" هي حالة سنخبرك عنها بالفعل

إن اتصال المستودع الذي يبدو سليمًا ولا يتلقى أي شيء هو الفشل الصامت الكلاسيكي — رمز ذو نطاق غير صحيح، أو تسليم محظور لدى المزود، أو خطاف (hook) أزاله شخص ما يدويًا. إنه غير مرئي على كل شاشة أخرى، لذا تعرضه بطاقة المستودع مباشرةً: متى قام المزود بآخر تسليم إلينا، وماذا كان رده.

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

  • وقت وآخر رسالة تسليم، على البطاقة
  • تتم الإشارة إلى "لم يتم التسليم نهائيًا"، ولا يُترك الحقل فارغًا
  • تم التحقق من التوقيع لكل مزود قبل تشغيل أي شيء
  • تتم إزالة الخطاف الذي أنشأناه بواسطة المعرّف عند قطع الاتصال
وصول تسليم خطاف ويب والتحقق منه قبل أن يقوم بتشغيل أي شيء.

الهوية

تسجيل الدخول باستخدام GitHub أو GitLab — أو Google أو Microsoft

إلى جانب عنوان البريد الإلكتروني وكلمة المرور، يمكنك تسجيل الدخول إلى حساب Zinn Digital® الخاص بك باستخدام GitHub أو GitLab أو Google أو Microsoft. تتولى طبقة الهوية عملية المصافحة؛ نحن لا نرى كلمة مرور موفر الخدمة الخاصة بك مطلقاً، وربط حساب تواصل اجتماعي بحساب Zinn® حالي لا يزال يتطلب التأكيد عبر البريد الإلكتروني.

إن تسجيل الدخول باستخدام GitHub وربط GitHub لعمليات النشر هما قراران منفصلان وبيانات اعتماد منفصلة. القيام بأحدهما لا يؤدي إلى الآخر، وإزالة أحدهما لا تزيل الآخر.

  • تسجيل الدخول عبر GitHub وGitLab وGoogle وMicrosoft
  • مفاتيح المرور والمصادقة الثنائية على الحساب نفسه
  • تظل بيانات اعتماد تسجيل الدخول والنشر منفصلة
وصول مفوّض لفريقك
تسجيل دخول عدة أشخاص إلى حساب واحد عبر مزودين مختلفين.

الأسئلة الشائعة

ما هي موفرو التحكم بالمصدر الذين يمكنني ربطهم؟

GitHub وGitLab. اربطوا الحساب الذي تعملون به بالفعل وسنتمكن من النشر من مستودعاته، وتسجيل خطاف ويب (webhook) للإرسال عليها، و—إذا أردتم ذلك—مزامنة ملفات موقعكم في الاتجاه المعاكس. كلاهما يمر عبر نفس آلية الحساب المتصل، لذا ينطبق كل ما هو موضح أدناه على كليهما.

هل يمكنني تسجيل الدخول باستخدام GitHub أو GitLab؟

نعم، ومع Google أو Microsoft. إلى جانب عنوان البريد الإلكتروني وكلمة المرور، يمكنك تسجيل الدخول إلى حسابك في Zinn Digital® بأي من هذه الطرق الأربع. تتولى طبقة الهوية عملية المصافحة ولا نطلع مطلقًا على كلمة مرور مزود الخدمة الخاص بك. يعد تسجيل الدخول باستخدام GitHub أمرًا منفصلاً عن ربط GitHub لعمليات النشر — يمكنك إجراء أي منهما، أو كليهما، أو لا شيء منهما.

أين يمكنني نشر مستودع؟

إلى Cloudflare Pages أو GitHub Pages أو GitLab Pages أو Netlify أو Vercel أو Render أو Azure Static Web Apps أو AWS Amplify لموقع ثابت أو مبني — أو إلى استضافتنا المدارة الخاصة، حيث يظل المستودع وملفات الموقع متزامنة في كلا الاتجاهين. تختارون أنتم وجهة الموقع؛ ويظل اتصال المستودع كما هو في كلتا الحالتين.

هل يمكنكم إنشاء موقعي، أم يجب أن يكون مبنيًا بالفعل؟

كلاهما متاح. في وضع النشر، نأخذ الفرع كما هو وننشر الدليل الذي تحددونه. في وضع التكامل المستمر (CI)، يشغّل المسار الخاص بمزودكم أمر البناء الخاص بكم ويدرج المخرجات في فرع نشر منفصل، ثم نجلبه مثل أي مرجع آخر. يتيح لكم الخيار الثاني الاحتفاظ بعملية البناء في الـ CI الخاص بكم، حيث توجد أسراركم وذاكرة التخزين المؤقت مسبقًا.

هل يؤدي الدفع إلى النشر تلقائيًا؟

بشكل افتراضي، نعم — نحن نسجل خطاف ويب (webhook) في المستودع، ويؤدي الدفع (push) إلى الفرع الذي حددتموه إلى بدء النشر. يمكنكم إيقاف ذلك والاحتفاظ بخطاف الويب، وهو أمر أكثر فائدة مما يبدو: إذ يظل التسليم مسجلاً، مما يتيح لكم مراقبة وصول عمليات الدفع الخاصة بكم قبل السماح لنا باتخاذ إجراء بشأنها.

ما هي المزامنة ثنائية الاتجاه؟

تصبح التعديلات التي يتم إجراؤها على أجهزتنا عمليات تثبيت (commits) على فرعكم، وتعود عمليات التثبيت على فرعكم إلى الموقع. يكون هذا الخيار معطلاً حتى تقوموا بتشغيله، لأن تشغيله هو قرار يتعلق بمستودع شخص آخر ولن نتخذه نيابة عنكم. أنتم تختارون الدليل الذي تتم مزامنته — عادةً ما يكون قالباً أو إضافة، وليس أربعين ألفاً من ملفات WordPress الأساسية.

ماذا يحدث إذا تغير كلا الطرفين؟

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

كيف تتم حماية رمز الوصول الخاص بي؟

نعرض لكم الامتيازات التي يتطلبها الاتصال قبل إنشائه، ونتحقق من الرمز المميز عبر واجهة برمجة التطبيقات الخاصة بمزود الخدمة نفسه عند إدخاله — بحيث لا يتم تخزين أي رمز غير صالح أو ذي نطاق غير صحيح على الإطلاق — وفقط بعد ذلك نقوم بكتابته في Vault. لا يمس أبداً برمجياتنا، أو سجلاتنا، أو ملف بيئة، أو سطر الأوامر. يمكنكم إبطاله لدى مزود الخدمة أو إزالة الاتصال من هنا، في أي وقت تشاؤون.

كيف يمكنني معرفة ما إذا كنتم تتلقون عمليات الدفع الخاصة بي بالفعل؟

تُظهر بطاقة المستودع وقت آخر تسليم تم من المزوّد إلينا وما ذكره. وتُعدّ عبارة «لم يتم التسليم قط» هي التشخيص الأكثر فائدة على تلك الشاشة، لأن حالة «متصل ولكن لم يتم التسليم قط» هي بالضبط ما يبدو عليه الرمز المميز ذو النطاق غير الصحيح أو التسليم المحظور — ولا تظهر هذه الحالة في أي مكان آخر. يتم التحقق من توقيع كل تسليم قبل اتخاذ أي إجراء بشأنه.

هل يمكنني استخدام نشر Pages على خط Footprint-Free؟

إنها معروضة ولكن تم تمييزها بتنبيه. تشترك GitHub Pages وGitLab Pages في البنية التحتية لمزود الخدمة وأسماء مضيفي github.io وgitlab.io العامة، ويشكل ذلك أثر تتبع لمحركات البحث — وهو الأمر الذي وُجد هذا السطر لتجنبه تحديدًا. للحصول على شبكة خالية من أي أثر، يُرجى النشر على استضافة معزولة بدلاً من ذلك. وفي كل مكان آخر، فإن Pages تُعد خيارًا من الدرجة الأولى.

لماذا يتعين عليّ اختيار Vercel صراحةً؟

لأن باقته المجانية مرخصة للاستخدام غير التجاري فقط. نستنتج الوجهة من الحسابات التي قمت بربطها حيثما كان ذلك آمنًا، ويتم استبعاد Vercel عمدًا من هذا الاستنتاج — يجب ألا يؤدي ربط الحساب أبدًا إلى وضع موقع تجاري بهدوء في مكان لا يسمح به ترخيصه. اختره وسيعمل تمامًا مثل الآخرين.

هل يمكنني معرفة ما تم نشره وتوقيت ذلك؟

نعم. يسجل كل نشر الالتزام الذي تم نشره، ووقت تشغيله، وكيفية انتهائه، وتعرض علامة تبويب النشر الخاصة بالموقع السجل مع عنوان URL المباشر بجانبه. تعمل عمليات النشر في الخلفية، لذا يتم تحديث الصفحة عند اكتمال البناء بدلاً من جعلك تنتظر أمام مؤشر التحميل الدوار.

النشر من المستودع الخاص بك

ابدأ فترة تجريبية لمدة 14 يومًا بدون بطاقة، واربط GitHub أو GitLab، ووجّه موقعًا إلى فرع. انشر على مضيف طرفي، أو على استضافتنا الخاصة مع مزامنة الملفات في كلا الاتجاهين.

ابدأ مجانًا