ما تقدمه لك عملية الربط
يتيح لك ربط حساب Azure Static Web Apps الخاص بك نشر موقع ثابت على حساب Azure Static Web Apps الخاص بك مباشرةً من لوحة تحكم Zinn® لديك. أنت تمتلك المشروع والفاتورة؛ ونحن نتولى عملية النشر والنطاق المخصص وسجلات DNS.
قبل أن تبدأ
اشتراك Azure، ومجموعة موارد للمواقع، وحساب متصل على GitHub أو GitLab أو Bitbucket يحتوي على التعليمات البرمجية — حيث يتم إنشاء Azure Static Web Apps انطلاقاً من مستودع برمجيات. تتيح خطة Azure المجانية الاستخدام التجاري ونطاقين مخصصين لكل تطبيق.
1. إنشاء المفتاح في Azure Static Web Apps
تطلق Azure على هذا اسم كيان الخدمة (service principal). في مركز إدارة Microsoft Entra، افتح Entra ID ← App registrations ← New registration، ثم قم بتسميته واضغط على Register. في صفحة النظرة العامة للتطبيق، انسخ Application (client) ID وDirectory (tenant) ID. بعد ذلك، افتح Certificates & secrets ← Client secrets ← New client secret، واختر المدة واضغط على Add — انسخ قيمة السر (secret value) على الفور، حيث تعرضها Azure لمرة واحدة فقط.
في مدخل Azure، افتح مجموعة الموارد التي تريد منا استخدامها، ثم انتقل إلى Access control (IAM) ← Add ← Add role assignment. اختر دور Contributor، وعيّنه لـ User, group, or service principal، وابحث عن التطبيق بالاسم، ثم اضغط على Review + assign. دوّن اسم مجموعة الموارد وSubscription ID التابع لها (ابحث عن Subscriptions في المدخل).
2. الربط من هنا
افتح Integrations في لوحة تحكمك واختر Connect an account. حدد Static hosting (Netlify, Vercel) كمجموعة وAzure Static Web Apps كحساب، ثم املأ Client ID وClient secret وTenant ID وSubscription ID وResource group، واضغط على Connect account.
نقوم باختبار ما تلصقه قبل حفظ أي شيء. لا يتم تخزين المفتاح الذي لا يعمل أبداً، وتوضح الاستجابة سبب المشكلة. أما المفتاح الذي يعمل فيتم حفظه مشفراً في خزنة الأسرار لدينا — ولا يُحفظ أبداً في قاعدة بياناتنا — ولا يُعرض مرة أخرى على الإطلاق، حتى لك.
ماذا يحدث بعد ذلك
- عند إنشاء موقع ثابت أو نقله، يظهر هذا الحساب كوجهة نشر.
يقوم Azure Static Web Apps بالبناء انطلاقاً من مستودع برمجيات — ولا توجد طريقة لقبول إصدار مبني ومرفوع — لذا يجب أن تأتي التعليمات البرمجية للموقع من مستودع متصل على GitHub أو GitLab أو Bitbucket. يُرجى ربط أحدها أولاً إذا لم تكن قد قمت بذلك.
- نقوم بإنشاء الخدمة على حسابك، وتوجيهها إلى المستودع، وإرفاق نطاقك المخصص، وبدء عمليات النشر. تعرض صفحة النطاق أي سجل DNS يتطلبه Azure Static Web Apps.
- يكون الاستخدام والفوترة على حسابك، ويمكنك الاطلاع عليهما في لوحة تحكم المزود الخاصة بك.
- يتم التحقق من النطاق الأساسي (apex domain) عبر سجل TXT والنطاق الفرعي عبر CNAME الخاص به؛ وتوضح صفحة النطاق أيهما يحتاجه نطاقك.
إذا لم يتم الاتصال
رفضت Azure كيان الخدمة. إما أن سر العميل (client secret) قد انتهت صلاحيته — وهي تنتهي دائماً وفق المدة التي اخترتها — أو أن التطبيق لم يعد يمتلك دور Contributor على مجموعة الموارد. تتشابه الرسالتان، لذا تحقق من تعيين الدور قبل إنشاء سر جديد.
لم يتم العثور على شيء. تأكد من أن Subscription ID وResource group هما اللذان قمت بتعيين الدور عليهما، وأن Tenant ID هو الدليل الذي تم تسجيل التطبيق فيه.
تشير الرسالة إلى أنه تم رفض المفتاح. يعود السبب في الغالب دائماً إلى أحد ثلاثة أمور: نسخ مسافة أو فاصل سطر معه، أو انتهاء صلاحية المفتاح، أو إبطال المفتاح أو إعادة إنشائه بعد نسخه. قم بإنشاء مفتاح جديد والصقه مجدداً.
تم الاتصال، ولكن يحدث خطأ لاحقاً. تتم مصادقة المفتاح ولكنه يفتقر إلى إذن يتطلبه الإجراء. قم بإنشاء مفتاح جديد بالأذونات المذكورة أعلاه، ثم افصل الاتصال القديم واربط المفتاح الجديد.
إلغاء الربط
افتح Integrations، وابحث عن الحساب واضغط على Disconnect. يؤدي ذلك إلى حذف المفتاح المخزن على الفور. ويتوقف أي شيء كان يستخدمه عند الإجراء التالي له، وستوضح الشاشات التي كانت تعتمد عليه ذلك بدلاً من أن تفشل بصمت.
لا يؤدي إلغاء الربط إلى التراجع عما تم تنفيذه بالفعل — فالسجلات أو عمليات النشر أو الإعدادات التي قمنا بتغييرها على حسابك تظل كما هي. إذا كنت تعتقد أن المفتاح نفسه قد تسرب، فقم بإبطاله أيضاً لدى المزود؛ حيث إن إلغاء الربط يزيل نسختنا فقط، وليس نسختهم.