12 KiB
12 KiB
مشخصات درسنامه: اتوماسیون نگهداری و توسعه؛ از تریاژ خودکار ایشیوها تا اسکریپتهای خودترمیم
- شناسه در سیلابس:
L15.8 - فصل: فصل ۱۵: تکامل محصول با AI (Ch 15)
- نوع محتوا: 📘 درسنامه متنی
- زمان تقریبی مطالعه: ۱۶ دقیقه
- پیشنیازهای مستقیم:
L15.7(ساخت گردشکارهای ایجنتیک خودکار)
۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
- درک کند (Understand): مفهوم اتوماسیون نگهداری و توسعه (DevOps & Maintenance Automation) را شرح دهد و بداند چگونه کارهای روزمره و خستهکننده (تریاژ باگها، پاکسازی لاگها، ممیزی کدهای جدید) را به رباتهای خودکار بسپارد.
- تحلیل/ارزیابی کند (Evaluate): کاربرد اکشنهای گیتهاب (GitHub Actions) و ادغام مدلهای زبانی را در بررسی خودکار کدهای Pull Request (AI Code Reviewer) و برچسبگذاری ایشیوها ارزیابی کند.
- بهکار ببندد (Apply): یک کرون جاب (Cron Job) زمانبندیشده سرورلس برای پاکسازی خودکار رکوردهای موقت منقضیشده (کدهای پیامکی قدیمی، لاگهای بیاستفاده) در Supabase پیاده نماید.
- ایجاد کند (Create): یک اسکریپت نظارت بر تستهای خودکار بسازد که در صورت شکست تستها، خطای مربوطه را تحلیل و پیشنویس اصلاحیه کد را تولید کند.
۲. محدوده و مرزهای محتوا (Scope & Boundaries)
آنچه باید پوشش داده شود (In-Scope):
- استعاره رباتهای جاروبرقی هوشمند در خانه:
- شما در خواب هستید، اما ربات به طور خودکار کف خانه را جارو میکند، زبالهها را پاک میکند و شارژ میشود.
- اتوماسیون مخزن گیتهاب با اکشنهای هوش مصنوعی (AI GitHub Actions):
- تریاژ خودکار ایشیوها (Automated Issue Triage): وقتی کاربری در گیتهاب ایشیو میزند، مدل محتوا را میخواند، برچسبهای
bugیاenhancementمیزند و در صورت ناقص بودن اطلاعات، کامنت راهنما میگذارد. - بازبین خودکار کدها (AI Pull Request Reviewer): ربات هوشمندی که تغییرات PR را با قوانین
.cursorrulesمقایسه کرده و در صورت وجود کلید هاردکد شده یا توابع ناامن، هشدار درونخطی ثبت میکند.
- تریاژ خودکار ایشیوها (Automated Issue Triage): وقتی کاربری در گیتهاب ایشیو میزند، مدل محتوا را میخواند، برچسبهای
- وظایف دورهای پاکسازی پایگاه داده (Database Scheduled Maintenance):
- راهاندازی توابع زمانبندیشده ابری (Cron Triggers):
- حذف رکوردهای منقضیشده OTP بعد از ۲۴ ساعت.
- پاکسازی لاگهای قدیمی و جلوگیری از پر شدن حجم رایگان دیتابیس Supabase.
- راهاندازی توابع زمانبندیشده ابری (Cron Triggers):
- اسکریپتهای تست خودترمیم (Self-Healing Tests):
- سناریویی که در آن شکست تست به دلیل تغییر ساده نام یک کلاس Tailwind یا متن دکمه، توسط ایجنت شناسایی و فایل تست به صورت خودکار با برنچ جدید آپدیت میشود.
- ارسال گزارش خلاصه هفتگی سلامت به تلگرام سازنده:
- گزارش خودکار هفتگی: «پورتفولیو در هفته گذشته ۱۰۰٪ آپتایم داشت، ۱۲ پیام ثبت شد و ۵۰ رکورد منقضی پاکسازی گردید.»
- کالاوتهای آموزشی و هشدار کوئرا:
- کالاوت بنفش (
<details class="violet">): مفهوم کرون جاب در معماری بدون سرور با اندپوینتهای ایمنشده با توکن (CRON_SECRET). - کالاوت سبز (
<details class="green">): حس شگفتانگیز باز کردن گیتهاب و دیدن کامنتهای دقیق ربات بازبین روی کدهای جدید. - کالاوت قرمز (
<details class="red">): مرز باریک اتوماسیون؛ هرگز اجازه ادغام خودکار (Auto-Merge) کدهای تغییریافته به شاخه اصلی پروداکشن را به رباتها ندهید.
- کالاوت بنفش (
آنچه نباید وارد آن شویم (Out-of-Scope):
- پایپلاینهای پیچیده چندمرحلهای کلاود AWS CodePipeline.
- نوشتن افزونههای اختصاصی سیستمهای مدیریت کانتینر داکر سوآرم.
۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|---|---|---|
| Maintenance Automation | خودکارسازی فرآیندهای نگهداری | برنامهریزی سیستمها برای انجام منظم کارهای اصلاحی و پاکسازی بدون دخالت دست انسان |
| Issue Triaging | تریاژ و اولویتبندی ایشیوها | فرآیند دستهبندی، ارزیابی فوریت و تعیین تکلیف گزارشهای باگ دریافت شده از کاربران |
| Cron Job | وظیفه زمانبندیشده | فرآیندی که در ساعتها یا روزهای معین به صورت خودکار در پسزمینه سرور اجرا میشود |
| Self-Healing System | سیستم خودترمیم | سامانهای که پس از مواجهه با خطاهای سطحی، میتواند به صورت خودکار اقدامات اصلاحی اولیه را انجام دهد |
| PR Review Bot | ربات بازبین پول ریکوئست | ابزار هوش مصنوعی که پیش از ادغام کدهای جدید، آنها را از نظر کیفیت و امنیت نقد میکند |
۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
راهنمای ایجنت نویسنده: تمام تصاویر باید در پوشهٔ
images/ذخیره شده و در جدول تکخانهای وسطچین درج شوند:
- تصویر کاور درس:
images/cover.png- موضوع: ربات دستیار مکانیک نئونی با ابزارهای دیجیتال در حال آچارکشی خودکار کدهای یک سرور ابری در طول شب.
- جریان کار ربات بازبین هوش مصنوعی در گیتهاب:
images/ai-pr-reviewer-flow.png- موضوع: دیاگرام فرآیند: ارسال PR جدید
\rightarrowوبهوک گیتهاب اکشن\rightarrowتحلیل تغییرات با پرامپت قوانین\rightarrowثبت کامنتهای بازبینی هوشمند روی خطوط کد.
- موضوع: دیاگرام فرآیند: ارسال PR جدید
- نمونه کامنت ربات هوش مصنوعی روی پول ریکوئست:
images/github-ai-bot-comment-preview.png- موضوع: اسکرینشات از گیتهاب با کامنت ربات: «نکته امنیتی: به نظر میرسد این متغیر نباید NEXT_PUBLIC_ باشد» و تایید سایر خطوط.
- گزارش تلگرامی کرون جاب پاکسازی دورهای:
images/telegram-cron-health-report.png- موضوع: اسکرینشات از پیام ربات تلگرام با خلاصه اقدامات نگهداری نیمهشب و وضعیت پایدار دیتابیس.
۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (README.md)
- تیتر اصلی:
# اتوماسیون نگهداری و توسعه؛ از تریاژ خودکار ایشیوها تا اسکریپتهای خودترمیم - مقدمه: چگونه کاری کنیم که پروژه حتی زمانی که ما در تعطیلات هستیم، خودش را تمیز کند، باگهایش را گزارش دهد و کدهای جدید را بازرسی نماید؟
- جدول کاور درس
- استعاره سرایدار شبانهروزی هوشمند ساختمان:
- چک کردن شیرهای آب، بیرون گذاشتن زبالهها و ثبت ترددها بدون بیدار کردن ساکنان.
- ساخت ربات بازبین کد (AI Code Reviewer) با GitHub Actions:
- نوشتن یک فایل YAML ساده در
.github/workflows/ai-review.yml. - ارسال کدهای تغییریافته به مدل زبانی و دریافت بازخورد خودکار.
- نوشتن یک فایل YAML ساده در
- تریاژ خودکار گزارشهای باگ در گیتهاب:
- تشخیص نوع ایشیو و افزودن خودکار برچسبهای رنگی.
- پاکسازی دورهای دیتابیس با وظایف زمانبندیشده (Cron Jobs):
- ساخت روت امن
/api/cron/cleanupدر Next.js با احراز هویت توکنCRON_SECRET. - حذف خودکار رکوردهای باطله و حفظ سلامت جداول.
- ساخت روت امن
- جعبه پرامپت طلایی: طراحی ورکفلو گیتهاب اکشن برای بازبینی خودکار کد با ایجنت:
- پرامپت دقیق:
«من میخواهم یک GitHub Action بنویسم که در هنگام ثبت هر Pull Request جدید، تفاوت کدها (Git Diff) را به API هوش مصنوعی بفرستد و بر اساس راهنمای سبک کدنویسی من، کامنتهای بهبود ساختار و هشدارهای امنیتی را مستقیماً روی PR ثبت کند. فایل کامل YAML و اسکریپت مربوطه را برایم بساز.»
- پرامپت دقیق:
- باکس نکته Quera (
<details class="violet">): استفاده از سرویسهای رایگان کرون مانند cron-job.org برای فراخوانی منظم روتهای پاکسازی سرورلس. - باکس هشدار Quera (
<details class="red">): هرگز کلیدهای اکشن گیتهاب را بدون ماسک در فایل YAML ننویسید؛ همیشه از GitHub Secrets استفاده کنید. - باکس رضایتبخش Quera (
<details class="green">): ایجاد یک PR آزمایشی و شگفتزده شدن از دیدن کامنتهای فنی و موشکافانه ربات در کمتر از ۳۰ ثانیه. - جمعبندی درسنامه: تسلط بر اتوماسیون وظایف روزمره؛ ورود به دنیای استخراج بینش عمیق از دادههای محصول با هوش مصنوعی در درس بعدی.
۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- اصول و مزایای اتوماسیون نگهداری در عصر وایب کدینگ تبیین شود.
- نحوه پیادهسازی ربات بازبین کد در GitHub Actions آموزش داده شود.
- طراحی روتهای زمانبندیشده (Cron Jobs) برای پاکسازی دیتابیس ارائه گردد.
- نمونه کدهای امنیتی برای محافظت از اندپوینتهای کرون در متن درس گنجانده شود.