تصدير قوالب مسماة قابلة لإعادة الاستخدام
نشر الأجزاء التي يمكن للمخططات الأخرى تضمينها
تصدير قوالب مسماة قابلة لإعادة الاستخدام درس مجاني في Helm Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Helm Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Helm Academy 4 دروس في المجموع.
القوالب المسمّاة هي جوهر المكتبة
تشحن مكتبة المخطط قيمتها في صورة قوالب مسمّاة. اكتبوا هذه القوالب باستخدام define، تمامًا كما تفعلون في أي ملف _helpers.tpl.
{{- define "common.fullname" -}}
{{ .Release.Name }}-{{ .Chart.Name }}
{{- end -}}تسمية القوالب ضمن نطاق
تكون أسماء القوالب عامة على مستوى المخطط وتبعياته. أضيفوا اسم المكتبة إلى أسمائكم كبادئة، مثل common.labels، لتجنب التعارضات.
{{- define "common.labels" -}}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}وضعها في templates
توجد قوالب المكتبة في دليل templates بالمخطط، داخل ملفات تبدأ أسماؤها بشرطة سفلية حتى لا يعرضها Helm كبيانات بيان.
common/
templates/
_labels.tpl
_names.tplلا ينتج define مخرجات بمفرده
لا تنتج كتلة define المجردة شيئًا عند عرض المخطط. ولا يُخرج القالب نصًا إلا عندما يضمّنه مخطط آخر لاحقًا.
تصدير مورد كامل
يمكنكم تعريف كائن Kubernetes كامل باعتباره قالبًا مسمّى واحدًا. وعندها يعرض المستهلكون Service كاملًا باستدعاء include واحد.
{{- define "common.service" -}}
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}
{{- end -}}قبول سياق المستدعي
داخل الجزء الجزئي، تكون النقطة هي أي شيء يمرره المستدعي. تتيح قراءة .Values و.Release لقالبكم التكيف مع كل مخطط مستهلك.
{{- define "common.image" -}}
{{ .Values.image.repository }}:{{ .Values.image.tag }}
{{- end -}}توثيق النطاق المتوقع
بما أن الأجزاء الجزئية تثق بمدخلاتها، اتركوا تعليقًا يوضح السياق الذي تحتاج إليه. وسيحصل المستهلك الذي يمرر نقطة غير صحيحة على أخطاء مربكة.
{{/* common.fullname expects the root context (.) */}}إبقاء كل قالب مخصصًا لمهمة واحدة
قسّموا المنطق إلى أجزاء جزئية صغيرة ومركزة: جزء واحد لـالأسماء، وآخر لـ labels، وثالث لـ selectors. وتتكون الأجزاء الصغيرة بوضوح في العديد من المخططات.
أهمية علامات المسافات البيضاء
أحيطوا define وend بـعلامات الشرطة مثل {{- و -}} حتى لا تُدخل مخرجات المكتبة أسطرًا فارغة زائدة إلى YAML الخاص بالمستهلك.
{{- define "common.name" -}}
{{ .Chart.Name }}
{{- end -}}لا يتم تصدير أي شيء قبل تضمينه
يجعل تعريف القالب القالبَ متاحًا، لكنه لا يفعّله. ولا يضيف أي مخرجات إلا عندما يستدعيه مخطط application باستخدام include أو template.
مجموعة صغيرة من الأدوات المساعدة القابلة لإعادة الاستخدام
تصبح مجموعة من الأجزاء الجزئية، مثل common.fullname وcommon.labels، مفردات مشتركة يمكن لكل مخطط خاص بالفريق البناء عليها.
{{- define "common.fullname" -}}
{{ printf "%s-%s" .Release.Name .Chart.Name }}
{{- end -}}تحقق سريع
لماذا ينبغي للمكتبة إضافة بادئة إلى أسماء قوالبها، مثل common.labels بدلًا من labels؟
مراجعة: تصدير القوالب
تنشرون المنطق القابل لإعادة الاستخدام باستخدام define في ملفات تبدأ أسماؤها بشرطة سفلية، وتضيفون نطاقًا إلى الأسماء، وتعتمدون على نقطة المستدعي للسياق. 🧩
الأسئلة الشائعة
هل درس «تصدير قوالب مسماة قابلة لإعادة الاستخدام» مجاني؟
نعم — نص درس «تصدير قوالب مسماة قابلة لإعادة الاستخدام» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Helm Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Helm Academy 4 دروس في المجموع.
ماذا ستتعلم في «تصدير قوالب مسماة قابلة لإعادة الاستخدام»؟
نشر الأجزاء التي يمكن للمخططات الأخرى تضمينها تتمرن على Helm Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Helm Academy؟
لا تُشترط خبرة سابقة. Helm Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «تصدير قوالب مسماة قابلة لإعادة الاستخدام»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Helm Academy هذا؟
نعم. كل درس في Helm Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تعريف نوع Library Chart
- تصدير قوالب مسماة قابلة لإعادة الاستخدام
- استخدام Library كتابعية
- تجاوز القيم الافتراضية للمكتبة محليًا