متغیرها (Vars)

متغیر چیست؟

هر متغیر به صورت یک کلید-مقدار (key/value) تعریف می شود. از متغیرها می‌توان برای تعیین مقدار پارامترهایی که در values پک ها به حالت template آمده اند استفاده کرد. حتی مقدار یک vars می توان به صورت پارامتری از متغیر(های) دیگر تعیین شود.

چرا از متغیر استفاده می‌شود؟

برای کنترل و تنظیم برخی ویژگی های چارت که در سطح پروژه و سازمان یکسان است می توان از متغیرها در آن سطوح استفاده کرد. مثلا ریپوی چارت کنترل شده در کل سازمان یا به روز رسانی و مدیریت نسخه های چارتهای پر استفاده در پکهای سازمان

همچنین متغیر گاهی برای سادگی در هماهنگ کردن اجزاء یک پک نیز استفاده می گردد مثلا میزان سی پی یو و رم مورد استفاده در اجزاء پک با هم تناسبی دارند که می خواهیم همیشه حفظ شود یا اجزاء یک پک را به صورت یکجا بتوان با افزودن یک شماره نسخه به روز کرد

مقادیر مجاز

متغیرها باید مقادیر ساده داشته باشند، یعنی از نوع های زیر باشند:

  • Null
  • رشته (String)
  • عدد (Number)
  • درست یا نادرست (Boolean)

سطوح تعریف متغیر

متغیرها را می‌توان در سه سطح زیر تعریف و استفاده کرد:

  • در سطح سازمان
  • در سطح پروژه
  • در سطح پک

** اولویت متغیرها در سطح پک پایین ترین اولویت در تاثیر گذاری و در سطح پروژه بالاترین اولویت در تاثیر گذاری است. **

این اولویت بندی، بدین معناست که اگر یک متغیر X که در پکی استفاده شده است، در بیش از یک سطح تعریف شده باشد، مقداری که در سطح پروژه آن پک به متغیر X داده شده است در پک اعمال می شود. و اگر در سطح پروژه مقداری برای آن تعیین نشده بود، اولویت بعدی مقداری است که در سطح سازمان آن پک برای متغیر X تنظیم شده است. و در نهایت اگر در دو سطح دیگر مقداری برای آن متغیر تعریف نشده باشد، مقدار پیش فرضی که در خود پک برای متغیر X در نظر گرفته شده است مورد استفاده قرار می گیرد.

نکته: متغیری که نمی خواهید در سطح سازمان و پروژه مقدار دهی شود را با نام خاص همان پک تعریف کنید.

نحوه‌ی تنظیم در کوبیت

برای ایجاد، ویرایش و حذف متغیرها در هر سطح می‌توان به تب متغیرها در صفحه‌ی همان پک یا پروژه یا سازمان رجوع کرد. در این صفحه امکان مشاهده، ویرایش، حذف و اضافه کردن متغیرها وجود دارد.

محل نگهداری در کوبرنتیز

با توجه به اینکه این متغیرها در هنگام اعمال یا تغییر پکها حیاتی هستند، لذا در ساختارهای داخل کوبرنتیز نیز نگهداری می شوند. بدین صورت که متغیرهای یک منبع پک در فیلد vars در spec آن می‌آیند و متغیرهای سازمان و پروژه نیز در منبعی به نام Config نگهداری می‌شوند.