این درس راهنمای عملی برای درک و مدیریت Runner Labels در Forgejo است. در این درس نشان داده می شود که label فقط یک اسم یا برچسب است که تعیین میکند یک job در کجا اجرا شود: یا داخل یک کانتینر جدا (از طریق Docker-in-Docker) یا مستقیماً روی خود کانتینر runner (host mode).
در طول درس، ابتدا یاد میگیرید چطور برچسبهای فعلی runner را بررسی کنید و در صورت نیاز آنها را تغییر دهید (با ویرایش فایل .runner و ریاستارت کانتینر). سپس با دو مثال واقعی، اجرای workflow در هر دو حالت نشان داده میشود: یکی در یک کانتینر Ubuntu-22.04 داخل DinD و دیگری به صورت مستقیم روی runner host. در نهایت هم خلاصهای از تفاوتها و نحوهٔ تشخیص محل اجرای job از طریق دستورات docker ps و ps aux ارائه میشود.
به طور خلاصه: هدف درس این است که خواننده بفهمد runner labels چه هستند، چه کاربردی دارند، و چگونه میتوان با آنها تعیین کرد workflow در کجا اجرا شود.
مواردی که در این درس بحث و پیادهسازی میشوند عبارتند از
- مفهوم Runner Label و نقش آن در Forgejo
- بررسی، ویرایش و بهروزرسانی Label ها در فایل
.runner - اجرای workflow با Label از نوع کانتینری (Docker-in-Docker)
- اجرای workflow با Label از نوع host (self-hosted)
- روشهای تأیید محل اجرای job با
docker psوps aux
