يمكن استخدام عملية الإعداد التلقائية لنشر خادم وضع العلامات على Cloud Run ببضع نقرات فقط. إذا كنت تريد توفير خادم وضع العلامات في بيئات أخرى، يمكنك إجراء ذلك يدويًا. خادم وضع العلامات هو خادم Node.js داخل صورة Docker.
يتطلّب توفير خادم وضع العلامات يدويًا توفير مجموعة وضع العلامات من جهة الخادم (SST) وخادم معاينة بشكل منفصل. مجموعة وضع العلامات من جهة الخادم هي نقطة الدخول لجميع الطلبات إلى خادم وضع العلامات، وستعالج الطلبات على النحو описан في مقدّمة عن وضع العلامات من جهة الخادم. يُعدّ "خادم المعاينة" ضروريًا لمعاينة حاوية.
اطّلِع على الشكل 1 للحصول على رسم توضيحي للتفاعل بين البيانات بين ملفّات العلامات والخوادم المخصّصة للمعاينة.
الشكل 1: مخطّط بياني لتدفّق بيانات خوادم وضع العلامات وخادم المعاينة
يوضّح هذا الدليل كيفية تنفيذ ما يلي:
- عرض جميع الإعدادات المتاحة لصورة Docker
- (اختياري) تضمين بيانات اعتماد BigQuery
- يمكنك توفير خادم معاينة يدويًا باستخدام صورة SST Docker.
- يمكنك توفير مجموعة SST يدويًا باستخدام صورة Docker الخاصة بـ SST.
- تحقَّق من ضبط خادم المعاينة ومجموعة SST بشكل صحيح.
- يجب إبقاء إصدار خادم وضع العلامات محدّثًا بعد توفير الخادم.
لتشغيل أوامر Docker الواردة في هذا الدليل، يجب أولاً تثبيت Docker على جهاز الكمبيوتر.
عرض جميع الإعدادات المتاحة لصورة Docker
يمكن العثور على صورة Docker لخادم وضع العلامات على عنوان URL هذا:
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
يستخدم خادم وضع العلامات وخادم المعاينة صورة Docker نفسها مع اختلافات في علامتَي التثبيت. في هذا القسم، سنتعرف على طريقة البحث عن جميع الإعدادات المتاحة التي يمكن استخدامها مع صورة Docker.
للاطّلاع على جميع الإعدادات المتاحة، نفِّذ ما يلي باستخدام أداة سطر أوامر docker:
docker run gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable server_bin.js --help
(اختياري) تضمين بيانات اعتماد Google Cloud
لاستخدام واجهة برمجة تطبيقات BigQuery
أو Firestore
خارج Google Cloud، عليك تقديم بيانات اعتماد حساب الخدمة المصرَّح له بالوصول إلى هذه الموارد.
- اتّبِع هذا الدليل لإنشاء حساب خدمة لديه دور محرر data
BigQuery للوصول إلى
BigQuery
أو دور مستخدم Cloud Datastore للوصول إلىFirestore
وتصدير بيانات اعتماد JSON باستخدام اسم الملفlocal_service_account_key.json
. - شغِّل بيانات الاعتماد بتنسيق JSON في وحدة تخزين يمكن للصورة الوصول إليها. وباستخدام
docker run
، يمكنك تحديد-v local_service_account_key.json:/app/service_account_key.json
لتثبيت بيانات الاعتماد في الصورة. - اضبط متغيّر البيئة
GOOGLE_APPLICATION_CREDENTIALS
على معرّف الاعتماد. - يمكنك اختياريًا تحديد رقم تعريف مشروعك على Google Cloud في متغيّر البيئة
GOOGLE_CLOUD_PROJECT
للسماح لخادم وضع العلامات بتحديد المشروع بشكل ضمني. شغِّل الخادم. يشغِّل الأمر التالي خادم وضع العلامات الذي يتضمّن بيانات الاعتماد المضمّنة:
docker run -v local_service_account_key.json:/app/service_account_key.json \ -p 8080:8080 \ -e GOOGLE_APPLICATION_CREDENTIALS='/app/service_account_key.json' \ -e GOOGLE_CLOUD_PROJECT='<your project id>' \ -e CONTAINER_CONFIG='<config string>' \ gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
استنادًا إلى النظام الذي يتم نشر خادم وضع العلامات عليه، قد تكون هناك طرق مختلفة لتركيب بيانات الاعتماد. على سبيل المثال، يوفّر كلّ من Kubernetes و Docker Swarm أدلة لإدارة الأسرار. يُرجى الرجوع إلى دليل النظام المعني للحصول على مزيد من المعلومات.
احرص على اتّباع أفضل الممارسات لحماية بيانات الاعتماد.
توفير خادم معاينة يدويًا
يتيح لك خادم المعاينة معاينة حاوية الخادم. لتشغيل خادم المعاينة، شغِّل صورة Docker باستخدام متغيرات البيئة التالية التي تم تمريرها إلى بيئة Docker.
الإعدادات المطلوبة
CONTAINER_CONFIG
: سلسلة الإعدادات لحاوية الخادم في "إدارة العلامات من Google"، انتقِل إلى مساحة عمل حاوية الخادم وانقر على رقم تعريف الحاوية في أعلى يسار الصفحة. انقر على توفير علامة وضع يدويًا للعميل لتحديد قيمة إعدادات الحاوية.RUN_AS_PREVIEW_SERVER
- اضبط هذا الخيار علىtrue
لتوفير الخادم كأحد خوادم المعاينة.
مثال على استخدام أداة سطر أوامر Docker
لتوفير خادم معاينة على الجهاز، نفِّذ ما يلي:
docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e RUN_AS_PREVIEW_SERVER=true gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
من المفترض أن يظهر لك استجابة 200 من طلب موجَّه إلى
http://localhost:8080/healthz
. يمكنك اختياريًا استخدام متغيّر البيئة PORT
لتغيير المنفذ.
أفضل الممارسات
- يجب نشر خادم معاينة واحد بالضبط. لا تضبط ميزة "توسيع النطاق التلقائي" لتكون أكثر من مثيل واحد.
- بعد إعداد خادم معاينة باستخدام Docker، عليك ضبط عنوان URL لبروتوكول HTTPS لتوجيهه إلى خادم المعاينة. هذا الإجراء مطلوب لإعداد مجموعة SST.
- يجب أن يكون وقت الاستراحة في أداة توزيع الحمولة أو شبكة توصيل المحتوى (CDN) أطول من 20 ثانية، وإلا لن يعمل وضع المعاينة بشكل صحيح.
توفير مجموعة وضع علامات من جهة الخادم يدويًا
تُستخدَم مجموعة وضع العلامات من جهة الخادم كنقطة دخول، وهي تُمثّل وكيلاً لطلبات المعاينة المرسَلة إلى خادم المعاينة، وتعالج جميع الطلبات الأخرى كما هو موضّح في مقدّمة عن وضع العلامات من جهة الخادم. استخدِم الإعدادات المطلوبة التالية مع صورة Docker لخادم وضع العلامات لتوفير مجموعة SST في أي بيئة متوافقة مع Docker.
الإعدادات المطلوبة
CONTAINER_CONFIG
: سلسلة الإعدادات لحاوية الخادم في "إدارة العلامات من Google"، انتقِل إلى مساحة عمل حاوية الخادم وانقر على رقم تعريف الحاوية في أعلى يسار الصفحة. انقر على توفير علامة وضع يدويًا للعميل لتحديد قيمة إعدادات الحاوية.PREVIEW_SERVER_URL
: عنوان URL يستخدم HTTPS لخادم المعاينة. يجب ضبط هذا الإعداد فقط لتوفير خادم وضع العلامات، ولا يلزم توفير خادم المعاينة. انظر القسم أعلاه للحصول على دليل حول إعداد خادم المعاينة.
مثال على استخدام أداة سطر أوامر Docker
لتوفير خادم وضع علامات واحد محليًا، قم بتشغيل ما يلي:
docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e PREVIEW_SERVER_URL='<HTTPS preview server url>' gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
من المفترض أن يظهر لك استجابة 200 من طلب إلى http://localhost:8080/healthz
.
يمكنك اختياريًا استخدام متغيّر البيئة PORT
لتغيير المنفذ.
أفضل الممارسات
- يمكن توفير خوادم وضع العلامات من جهة الخادم إما كخادم واحد أو
كمجموعة. وننصحك بتوفيرها كمجموعة لتحسين مدى التوفّر وقابلية التوسّع والأداء. يُرجى العلم أنّه عند
التوفير كمجموعة، يجب ضبط كل مثيل خادم باستخدام متغيّرات البيئة
CONTAINER_CONFIG
وPREVIEW_SERVER_URL
نفسها. - احرص على استضافة خادم وضع العلامات في المصدر نفسه (أفضل ممارسة) أو كأحد النطاقات الفرعية لموقعك الإلكتروني الحالي. على سبيل المثال، إذا كان تطبيقك يعرض زيارات الويب على example.com، استخدِم مسارًا مثل example.com/analytics لخادم وضع العلامات. مزيد من المعلومات عن ضبط النطاق المخصّص
- بعد إعداد مجموعة SST باستخدام Docker، عليك ضبط عنوان URL لبروتوكول HTTPS لتوجيهه إلى مجموعة SST.
- تأكَّد من إعادة تشغيل الخوادم بشكل دوري للتأكّد من أنّ الخوادم تتضمن آخر تعديلات رمز SST. وقد يؤدي عدم إجراء ذلك إلى عدم توافق وظائف ميزات SST الجديدة. من الطرق لمعرفة الحالات التي يجب فيها إعادة تشغيل الخادم هي إعداد عمليات التحقّق من صحة البث، كما هو موضّح أدناه. يُرجى العلم أيضًا أنّه سيتم تطبيق أي تعديلات منشورة على حاوية الخادم بدون إعادة تشغيلها.
- استخدِم نقطة نهاية
/healthz
الحالية (مثلhttps://analytics.example.com/healthz
) على خوادم وضع العلامات لإعداد عمليات التحقّق من صحة العلامة. تشير الاستجابة غير الصالحة إلى أنّه يجب إعادة تشغيل الخادم. - تتضمّن حاوية Docker أمر التحقّق من الصحة التلقائي
HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"]
الذي يُجري طلبات بحث إلى نقطة نهاية/healthz
بشكل دوري. إذا كنت تعتمد على فحص حالة Docker، يمكنك تغيير الإعدادات باتّباع تعليمات Docker. - إذا كان خادم المعاينة وخادم وضع العلامات في المصدر نفسه، يمكنك استضافة
خادم المعاينة على مسار مختلف عن خادم وضع العلامات. حدِّد
PREVIEW_SERVER_URL
بما في ذلك المسار. - يجب أن تتضمّن الخوادم المزوّدة وحدة معالجة افتراضية واحدة كحد أقصى. لا يتم استخدام وحدات المعالجة المركزية الافتراضية الإضافية، وتؤثر سلبًا في توسيع النطاق التلقائي.
التحقّق من الصحة
ضبط عنوان URL لحاوية الخادم
في أداة "إدارة العلامات من Google"، انتقِل إلى حاوية الخادم. ضمن المشرف > إعدادات الحاوية، ضَع عنوان URL لخادم وضع العلامات في الحقل عنوان URL لحاوية الخادم وانقر على حفظ.
التحقّق من خلال وضع المعاينة
في مساحة عمل "إدارة العلامات من Google"، عايِن الحاوية عن طريق النقر على معاينة وتأكّد من أنّه يتم تحميل صفحة المعاينة. في علامة تبويب أخرى للمتصفّح، انتقِل إلى أي مسار في عنوان URL لحاوية الخادم. إذا كانت صفحة المعاينة تعرض الطلب الذي تم إرساله، هذا يعني أنّه تم إعداد كل شيء بشكل صحيح.
إذا ربطت عدة نطاقات فرعية بخادم وضع العلامات واحد وأردت
الاطّلاع على معاينة على كل نطاق فرعي، أضِف عناوين URL لحاويات الخادم إضافية ضمن
المشرف > إعدادات الحاوية. وإذا تم توفير عدة عناوين URL، يجب أن تتطابق جميع مسارات عناوين URL (سلسلة المعلومات التي تأتي بعد اسم النطاق). على سبيل المثال، يمكنك معاينة المحتوى على example.com/abc
وexample2.com/abc
، ولكن لا يمكنك
معاينته على example.com/abc
وexample2.com/def
. في حال تمت
إضافة عدة عناوين URL، سيظهر لك رمز بجانب الزر معاينة يتيح لك
اختيار عنوان URL الذي تريد معاينته.
تعديل إصدار خادم وضع العلامات
تحتوي gtm-cloud-image على Node.js والمكتبات اللازمة لعمل خادم وضع العلامات. يتم تحديث صورة Docker بصفة دورية لإضافة إصلاحات الأمان والميزات الجديدة. ننصحك بتحديث خادم وضع العلامات على الأقل لكل إصدار رئيسي للإصدار (على سبيل المثال، الترقية من الإصدار 1.x.x إلى 2.x.x).
لتعديل صورة Docker:
- استرجاع نسخة الصورة الحالية على
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
- يمكنك نشر الخادم باستخدام الإعدادات نفسها التي استخدمتها في عملية النشر السابقة.
- عدِّل خادم المعاينة الفردي وجميع خوادم وضع العلامات في المجموعة.
- أوقِف أيّ خوادم قديمة.
للتأكّد من نجاح التعديل، اتّبِع الخطوات التالية:
- في حاوية الخادم، انقر على الزر معاينة لبدء جلسة تصحيح أخطاء جديدة وإرسال طلب في علامة تبويب منفصلة.
- في "الملخّص"، اختَر علامة التبويب وحدة التحكّم وتأكَّد من عدم تلقّي رسائل تطلب منك تعديل خادم وضع العلامات.
قد تعرِض أداة "إدارة العلامات من Google" رسائل تطلب منك تعديل خادم وضع العلامات لعدة أيام بعد تعديل الخادم بنجاح. ومع ذلك، ستعرض صفحة المعاينة رسالة محدّثة عن إصدار خادم وضع العلامات.