در این درس با مفهوم Workflow به عنوان هستهی اصلی سیستمهای CI/CD آشنا میشوید. یاد میگیرید چگونه میتوان با تعریف Workflowها، اجرای خودکار اسکریپتهای شبکه را زمانبندی و کنترل کرد و در عین حال از مزایای Git مانند version control بهره برد. در این بخش با یک نمونهی عملی، ساختار فایلهای Workflow، مراحل اجرای آن (از Trigger تا Artifact) و تفاوت رویکرد مهندسین شبکه با توسعهدهندگان نرمافزار در طراحی Workflow را بررسی خواهیم کرد.
Workflow فرآیندی خودکار است که بر اساس رخدادهایی مانند push، pull request، زمانبندی (schedule) یا اجرای دستی آغاز میشود و از طریق Runnerها (ماشین یا کانتینر) اجرا میگردد. هر Workflow در قالب یک فایل YAML در مسیر .forgejo/workflows/ ذخیره میشود و شامل اجزایی مانند Trigger، Runner، Jobs، Steps و Artifacts است. در این بخش یاد میگیرید چگونه ساختار این فایلها را تعریف کنید (name, on, jobs, runs-on, steps, uses, run) و چرا اکشنی مانند actions/checkout برای دسترسی به محتوای مخزن ضروری است.
با استفاده از یک مثال ساده عملی، یک Workflow ابتدایی میسازیم که هنگام هر Push اجرا شده و پیامی در خروجی چاپ میکند. در پایان، چرخهی اجرای Workflow را از آغاز تا تولید خروجی بررسی کرده و تفاوت کاربرد آن در اتوماسیون شبکه (مانند Backup، Compliance و Health Check) با توسعه نرمافزار (Build، Test، Deploy) را تحلیل میکنیم.
مواردی که در این درس بحث و پیادهسازی میشوند عبارتند از
- مفهوم Workflow و نقش آن در سیستمهای CI/CD
- ساختار فایلهای YAML در مسیر
.forgejo/workflows/ - اجزای اصلی Workflow: Trigger → Runner → Jobs → Steps → Artifacts
- معرفی و مقایسهی انواع Triggerها (
push,pull_request,schedule,workflow_dispatch) - نحوهی انتخاب Runner و محل اجرای Workflow
- مفهوم Job و Step و تفاوت بین
runوuses - معرفی اکشن پایهای
actions/checkoutو نقش آن در دسترسی به محتوای Repository - ساخت و اجرای یک Workflow ساده با پیام “Hello from Forgejo”
- تفاوت Workflow در توسعه نرمافزار و اتوماسیون شبکه
