خودکار کردن کارها یه رکن اساسی مهندسی نرمافزاره. و عملا بخش مهمی از کار هر توسعهدهنده، DevOpsکار و Platform Engineer و... همین خودکار کردن فرایندهاست.
خودکار کردن کارها یه رکن اساسی مهندسی نرمافزاره. و عملا بخش مهمی از کار هر توسعهدهنده، DevOpsکار و Platform Engineer و... همین خودکار کردن فرایندهاست.
لذا طیف وسیعی از ابزارهای اتوماسیون برای کارهای مختلف وجود داره، یکی از مهمترینهاش هم ابزارهای خودکارسازی بیلد و دپلوی است. ابزارهای Build Automation از فایلهای XML که برای استفاده از MS Build سالها پیش میساختیم تا فایلهای Yaml که برای GitHub یا GitLab میسازیم؛ وقتی مراحل بیلد، پیچیده و متعدد میشدن؛ نوشتن، ایرادیابی و مدیریت فایل Yaml سختتر میشه.
حتی توی پروژهها و تیمهای کوچیک هم شاید یادگیریش برای دولوپر تازهکار دشوار باشه.
درسته که افزونههایی بروی سهولت نوشتنشون در دسترس هست؛ ولی بیاین فکر کنیم اگر توی فایل #C با متدها و کلاسهایی که AutoComplete و... خیلی خوبی هم دارن، بهتر نیست؟ خوندن داینامیک مقادیر و تصمیمگیری راحتتر نیست؟ دیباگ کردن راحتتر نیست؟
پروژه Nuke.Build و Cake همینه! یه پروژه رایگان کدباز با لایسنس MIT که با همه CI/CDهای رایج GitHub GitLab CI, Azure Pipelines, Actions و... هم سازگاره.
🧐 حالا یه سوال جدی؟ آیا «امروزه، عصر، عصر مهاجرت به Nuke است و با مهاجرت به آن موفقیت را در دستان خود بگیریم و به پوست شفافتر، زندگی شادابتر و گوارش بهتر دست یابیم!» است؟
خیر! nuke با ۳۱۰۰ ستاره در گیتهاب و cake با ۳۹۰۰ ستاره، پروژههای بدی نیستن، برای پروژههای کوچک، و یا جایی که دانش یا نیروی کافی برای DevOps نداریم، و یا نیازهای خاصی داریم که با Yamlنویسی نگهداری و توسعهاش سخت میشه (پایپلاینهای خیلی پویا)، باز هم خوبن. ولی اینکه از فردا روشهای native رو بگذاریم کنار و بدون دلیل منطقی و حسابشده بیوفتیم دنبال اینا هم کار ابلهانهای است 😁 خودکارسازی خوبه، آشنایی با ابزارها خوبه، انتخاب با آگاهی و بجا از جفتش بهتره 😉
💬 تجربه شما چیه؟ با چه روش یا ابزاری build automation میکنین؟