🚀 إتقان YAML: دليل DevOps الأساسي للمبتدئين 🤖 موديت ماثور موديت ماثور · يتبع 4 دقائق قراءة · 2 يناير يستمع يشارك YAML (YAML Ain’t Markup Language) هو تنسيق تسلسل بيانات يمكن قراءته بواسطة الإنسان ويستخدم على نطاق واسع لتكوين الملفات وتسهيل تبادل البيانات بين لغات البرمجة التي تتميز بهياكل بيانات متميزة. في عالم DevOps، يجد YAML استخدامًا واسع النطاق باعتباره التنسيق المفضل لملفات التكوين في الأدوات البارزة مثل Ansible وDocker Compose وKubernetes ومنصات أخرى مماثلة. YAML: ليست لغة ترميزية كانت YAML في الأصل تعني “Yet Another Markup Language”، وقد تطورت إلى الاختصار المتكرر “YAML Ain’t Markup Language”. يؤكد هذا التطور على مكانته الفريدة كاختصار ذاتي المرجع ضمن تعريفه. تعمل YAML كلغة تسلسل بيانات يمكن قراءتها بواسطة الإنسان وتستخدم عادة لصياغة ملفات التكوين، كما تمت مناقشته سابقًا. يعتمد هيكلها على المسافة البادئة لتحديد هياكل البيانات الهرمية. في عالم Docker وKubernetes، يصبح YAML عنصرًا أساسيًا لتكوين الملفات المتعلقة بالحاويات والمجموعات وجوانب أخرى متنوعة. إن اكتساب الكفاءة في YAML يثبت أنه لا يقدر بثمن طوال مسيرة الفرد المهنية. مفاهيم YAML الأساسية يستخدم YAML بنية واضحة تعتمد على المسافة البادئة والنقطتين لنقل البيانات. فيما يلي جوانب مهمة يجب وضعها في الاعتبار عند العمل مع YAML: المسافة البادئة: يتم استخدام المسافات في YAML لإنشاء علاقات بين العناصر. يحدد عدد المسافات في بداية السطر مستوى المسافة البادئة، ويلعب دورًا محوريًا في تحديد الروابط بين العناصر. النقطتان: تعمل النقطتان (:) كفواصل لأزواج القيمة الرئيسية. يظهر المفتاح على اليسار، وتليه نقطتان، مع وجود القيمة المقابلة على اليمين. يعد فهم وبناء الجملة هذا أمرًا أساسيًا للعمل بفعالية مع YAML. مثال أساسي لملف YAML: الاسم: توم في هذا المثال، الاسم هو المفتاح و Tom هي القيمة الموجودة على الجانب الأيمن من النقطتين. الفواكه: – الاسم: تفاحة اللون: أحمر – الاسم: موزة اللون: أصفر – الاسم: برتقالي اللون: برتقالي هذا مثال أكثر تعقيدًا حيث لدينا مفتاح فاكهة، متبوعًا بشرطات الآن ما هو؟ وهي عبارة عن بنية بيانات مصفوفة أو قائمة يُشار إليها بالشرطة “-” (سوف تتعلم المزيد عنها لاحقًا). كل عنصر في المصفوفة هو في حد ذاته زوجين من القيم الأساسية ويسمى كائن أو قاموس. لذلك فهي مجموعة من الكائنات أو قائمة القواميس. قم بتدوين المسافة البادئة قبل كل سطر فهي مهمة. إذا أخطأت فإن YAML لن يعمل كما هو متوقع. إذا كتبت قائمة كما هو موضح أدناه، فستكون غير صالحة بسبب المسافة البادئة، لذا ضع ذلك في الاعتبار “المسافة البادئة مهمة جدًا أثناء كتابة YAML” – تفاح – موز – ليمون أنواع البيانات في YAML يدعم YAML أنواعًا مختلفة من البيانات، مما يجعله متعدد الاستخدامات لأنواع مختلفة من المعلومات. فيما يلي بعض أنواع البيانات الشائعة التي ستواجهها: سلاسل : تُستخدم السلاسل النصية للنص وتكون محاطة بعلامات اقتباس مفردة أو مزدوجة. أمثلة: الاسم: مدينة “أليس” : “نيويورك” أعداد: يمكن أن تكون الأرقام أعدادًا صحيحة أو قيمًا بفاصلة عائمة ولا تتطلب علامات اقتباس. أمثلة: العمر: 30 السعر: 9.99 القيم المنطقية: تمثل القيم المنطقية قيمًا صحيحة أو خاطئة ولا يتم تضمينها بين علامتي اقتباس. أمثلة: is_student: صحيح is_working: خطأ القيم الخالية: تمثل القيمة الخالية غياب البيانات. يتم استخدامه غالبًا للإشارة إلى أن الحقل ليس له قيمة. مثال: الاسم الأوسط: فارغ هناك العديد من أنواع البيانات ولكنك ستعمل معها في معظم الأوقات. الآن دعونا نلقي نظرة على بنيتي البيانات الأكثر استخدامًا في YAML. الكائنات (القواميس): في YAML، يتم تمثيل الكائنات كقواميس. وهي تتألف من أزواج القيمة الرئيسية. يرتبط كل مفتاح بقيمة. مثال الشخص: الاسم: “أليس” العمر: 30 في المثال أعلاه، مفتاح المستوى الأعلى هو الشخص الذي لدينا له قيمة وهي القاموس نفسه. لدينا زوجان من القيمة الرئيسية وهما الاسم: “Alice” && “age”:30 القوائم (التسلسل): يتم تمثيل التسلسل في YAML باستخدام شرطة -متبوعة بالقيم. تُستخدم القوائم لتحديد عناصر متعددة ضمن مفتاح واحد. مثال: الفواكه: – التفاح – الموز – البرتقال المراسي والأسماء المستعارة يتيح لك YAML تجنب تكرار نفس الشيء من خلال إعطائه اسمًا. فكر في الأمر مثل استخدام لقب لشيء ما. إنها ليست بنية بيانات ولكنها ميزة صغيرة لطيفة لكتابة الملف بطريقة نظيفة. الافتراضيات: المهلة الافتراضية : 30 max_connections: 100 الخدمة 1: <<: * الاسم الافتراضي: “الخدمة 1” الخدمة 2: <<: * الاسم الافتراضي : “الخدمة 2” في هذا المثال، نعطي اسمًا ( defaults) لمجموعة من القيم ثم نستخدمه <<: *defaultsللإشارة إلى تلك القيم في أماكن مختلفة. حالات الاستخدام الشائعة في DevOps: Docker Compose : يستخدم Docker Compose YAML لتحديد تطبيقات Docker متعددة الحاويات. وفيما يلي مثال بسيط: الإصدار: خدمات ‘3’ : الويب: الصورة: منافذ nginx : – “80:80” ديسيبل: الصورة: بيئة postgres : POSTGRES_PASSWORD: كلمة المرور Kubernetes : تتم كتابة ملفات تكوين Kubernetes بلغة YAML. فيما يلي مثال للنشر البسيط: apiVersion: نوع التطبيقات/الإصدار 1 : البيانات التعريفية للنشر : الاسم: مواصفات myapp : النسخ المتماثلة: 3 محدد: matchLabels: التطبيق: قالب myapp : بيانات التعريف: التصنيفات: التطبيق: مواصفات myapp : الحاويات: – الاسم: صورة حاوية myapp : صورة myapp-image Ansible Playbook: تستخدم قواعد اللعب Ansible YAML لوصف مهام الأتمتة. مثال: — – الاسم: تثبيت وبدء تشغيل مضيفي Apache : مهام خادم الويب : – الاسم: تثبيت Apache apt: الاسم: حالة apache2 : الحاضر – الاسم: بدء تشغيل خدمة Apache : الاسم: حالة apache2 : البدء سير عمل إجراءات GitHub: يتم تحديد سير عمل إجراءات GitHub باستخدام YAML. مثال: الاسم: خط أنابيب CI/CD على: الدفع: الفروع: – الوظائف الرئيسية : البناء: التشغيل : أحدث خطوات ubuntu : – الاسم: يستخدم مستودع Checkout : الإجراءات/checkout@v2 – الاسم: البناء واختبار التشغيل : | صدى “البناء والاختبار…” “` خاتمة: نأمل أن تكون هذه المقالة مفيدة وأعطتك نظرة ثاقبة حول ماهية YAML، وكيف يبدو بناء جملة اللغة. الآن سوف تشعر براحة أكبر في كتابة التكوين لتقنيات مختلفة في YAML.
مقالات ذات صلة
شاهد أيضاً
إغلاق
-
تقنية 6G اللاسلكية.. متى وإلى اين..؟!!!!10 يناير، 2023