0Pricing
DevOps Bootcamp · درس

تعريف Partial باستخدام define

صرّح بكتلة قالب مسمّاة قابلة لإعادة الاستخدام

تعريف Partial باستخدام define درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

لماذا نكرر أنفسنا؟

تُنسخ التسميات والأسماء نفسها إلى كل manifest في chart. ويتيح لكم القالب المُسمّى كتابة تلك الكتلة مرة واحدة وإعادة استخدامها في كل مكان.

تعرّفوا إلى إجراء define

تعلنون عن كتلة قابلة لإعادة الاستخدام باستخدام إجراء define. وهو يسمّي جزءًا من نص القالب، لكنه لا يُصيّر أي شيء بمفرده.

{{- define "mychart.labels" -}}
app: my-app
{{- end -}}

بنية كتلة define

تبدأ كل كتلة define بسلسلة اسم وتنتهي بـend. وكل ما يقع بينهما هو المتن الذي سيُدرجه المستدعون.

{{- define "NAME" -}}
  ...body...
{{- end -}}

أهمية اصطلاحات التسمية

تكون الأسماء عامة على مستوى chart بأكمله، لذلك أضيفوا اسم chart إلى بدايتها لتجنب التعارضات. وصيغة chart.purpose ذات أسلوب النقطة هي الاصطلاح المتّبع.

{{- define "mychart.selectorLabels" -}}
app.kubernetes.io/name: mychart
{{- end -}}

مكان وجود القوالب الجزئية

وفقًا للاصطلاح، ضعوا جميع كتل define في templates/_helpers.tpl. وتشير الشرطة السفلية في البداية إلى أن هذا الملف لا يُصدر manifest خاصًا به.

ملفات الشرطة السفلية مميّزة

لا تُصيّر الملفات الموجودة في templates والتي تبدأ بـشرطة سفلية إلى كائنات Kubernetes أبدًا. فهي تحتوي فقط على القوالب الجزئية والمساعدات لاستخدامها من قِبل القوالب الأخرى.

لا ينتج define أي مخرجات

يؤدي تعريف قالب جزئي إلى تسجيله باسمه فقط. ولا يظهر شيء في YAML المُصيّر حتى يستدعي قالب آخر ذلك القالب الجزئي فعليًا.

يمكن للقالب الجزئي استخدام النقطة

يمكنكم داخل القالب الجزئي قراءة سياق مثل .Release.Name، ولكن فقط إذا مرّر المستدعي ذلك النطاق إليه. وسنتناول تمرير النطاق قريبًا.

{{- define "mychart.name" -}}
{{ .Release.Name }}
{{- end -}}

قوالب جزئية عديدة في ملف واحد

يمكنكم وضع أي عدد تريدونه من كتل define في _helpers.tpl. اجمعوا المساعدات ذات الصلة معًا لتسهيل استعراض الملف.

{{- define "mychart.name" -}}
my-app
{{- end -}}
{{- define "mychart.fullname" -}}
my-app-prod
{{- end -}}

تبني القوالب الجزئية مخططات أكبر

مع نمو chart، تحافظ القوالب الجزئية على اتساق التسميات والأسماء المكررة. غيّروا المساعدة مرة واحدة، فتتحدّث كل manifests التي تستخدمها معًا.

التعريف ليس سوى نصف المهمة

يظل define بمفرده بلا تأثير. والخطوة التالية هي إدراجه في manifests فعلية باستخدام include أو template، وهو ما يتناوله الدرس التالي.

اختبار سريع

أضفتم كتلة define، لكن المخرجات المُصيّرة فارغة. ما السبب؟

مراجعة: تعريف القوالب الجزئية

تعلّمتم الإعلان عن كتل قابلة لإعادة الاستخدام باستخدام define، وتسميتها chart.purpose، وتخزينها في _helpers.tpl. وستستدعونها في الخطوة التالية. 🧩

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

هل درس «تعريف Partial باستخدام define» مجاني؟

نعم — نص درس «تعريف Partial باستخدام define» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

ماذا ستتعلم في «تعريف Partial باستخدام define»؟

صرّح بكتلة قالب مسمّاة قابلة لإعادة الاستخدام تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟

لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «تعريف Partial باستخدام define»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟

نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تعريف Partial باستخدام define
  2. إدراج Partials باستخدام template وinclude
  3. مساعدا Fullname وLabels القياسيان
  4. تمرير النطاق إلى قالب مسمّى
← العودة إلى DevOps Bootcamp