توسعه اغلب شامل مراحلی مانند ساخت و آزمایش کد شما است. با خودکار کردن این وظایف، گردش کار خود را ساده کنید – و مطمئن شوید که قابل اعتماد است.
تعریف گردش کار برای خودکارسازی وظایف می تواند توسعه نرم افزار شما را به شدت تسریع کند. استراتژیهای زیادی برای سادهسازی گردشهای کاری وجود دارد که انتخاب اغلب به ابزار و محیط خاص در حال استفاده بستگی دارد.
یک راه حل محبوب که می توانید برای خودکارسازی گردش کار توسعه خود از آن استفاده کنید GitHub Actions است. GitHub Actions امکان یکپارچه سازی و اتوماسیون یکپارچه فرآیندهای توسعه نرم افزار را فراهم می کند. با استفاده از GitHub Actions، میتوانید گردشهای کاری سفارشی را تعریف، به اشتراک بگذارید و بهطور خودکار اجرا کنید.
GitHub Actions چیست؟
GitHub Actions یک پلت فرم انعطاف پذیر و مقیاس پذیر برای خودکارسازی وظایف و گردش کار در پروژه های نرم افزاری است. با ایجاد فضای متمرکز برای ایجاد، اشتراک گذاری و استفاده مجدد از گردش کار، نیاز به سیستم های CI/CD خارجی پیچیده را از بین می برد.
ویژگی های مهم GitHub Actions شامل اتوماسیون گردش کار، اکوسیستم وسیعی از اقدامات از پیش ساخته شده، و همکاری با گردش کار موجود است. GitHub Actions قابلیت سفارشی سازی را از طریق متغیرها، رازها و ورودی ها فراهم می کند. همچنین سازگاری بین پلتفرمی را برای زبان های برنامه نویسی و سیستم عامل های مختلف ارائه می دهد.
GitHub Actions یکپارچه سازی و استقرار مداوم را ساده می کند و وابستگی ها را مدیریت می کند. همچنین تست و تضمین کیفیت را تضمین می کند و تحویل و استقرار مداوم را ساده می کند.
موارد استفاده ضروری مانند یکپارچه سازی و آزمایش مداوم، بررسی و تجزیه و تحلیل کد خودکار، اتوماسیون انتشار، و تامین زیرساخت ابری را ارائه می دهد. این ویژگی ها گردش کار توسعه را افزایش می دهد و بهره وری و همکاری را تقویت می کند.
شروع کار با GitHub Actions
قبل از پرداختن به پیچیدگیهای GitHub Actions، باید آن را برای مخزن GitHub خود فعال کنید.
با دنبال کردن مراحل زیر می توانید GitHub Actions را برای مخزن خود فعال کنید:
- به مخزن خود در GitHub بروید و بر روی تب “Actions” در منوی مخزن کلیک کنید.
- اگر این اولین باری است که به GitHub Actions برای مخزن دسترسی پیدا میکنید، یک اعلان برای راهاندازی یک گردش کار دریافت خواهید کرد. یک الگوی گردش کار مناسب انتخاب کنید یا یک الگوی جدید از ابتدا ایجاد کنید.
- راه اندازی گردش کار، GitHub Actions را برای مخزن فعال می کند.
درک اقدامات GitHub: کلمات کلیدی و مفاهیم
GitHub Actions حول چندین مفهوم اساسی می چرخد. این مفاهیم، بلوک های سازنده قابلیت های اتوماسیون آن را تشکیل می دهند. برای استفاده بیشتر از GitHub Actions باید کلمات کلیدی زیر را درک کنید.
گردش کار
گردش کار یک مفهوم حیاتی است. آنها به شما اجازه می دهند فرآیندهای خودکار سفارشی را تعریف کنید. هر زمان که رویدادهای خاصی در مخزن شما رخ دهد، این فرآیندهای خودکار اجرا می شوند.
شما گردش کار را با فایل های YAML تعریف می کنید و کارهایی را که از آنها تشکیل شده است را مشخص می کنید.
شغل ها
یک گردش کار شامل یک یا چند کار است. هر شغل نشان دهنده واحدی از کار است که می تواند همزمان یا متوالی با سایر مشاغل در یک گردش کار اجرا شود. شما کارها را با یک فایل YAML تعریف می کنید و معمولاً آنها را به عنوان یک سری مراحل تعریف می کنید.
مراحل
مراحل، وظایف یا اقدامات فردی هستند که یک کار را تشکیل می دهند. آنها کوچکترین واحد کار را در یک گردش کار نشان می دهند. Steps می تواند طیف گسترده ای از اقدامات مانند اجرای دستورات، فراخوانی API های خارجی یا استقرار کد را انجام دهد.
اقدامات
اکشن ها واحدهای کد قابل استفاده مجدد هستند که عملکرد خاصی را محصور می کنند. می توانید از اکشن ها در چندین گردش کار استفاده کنید.
اقدامات شامل ساخت کد، استقرار برنامهها، ارسال اعلانها یا تعامل با سرویسهای خارجی است. سه نوع اقدام موجود است:
- اقدامات از پیش ساخته شده: اقدامات ایجاد شده توسط GitHub یا انجمن در بازار GitHub Actions موجود است. میتوانید با مشخص کردن نام اقدام و نسخه در فیلد استفادهها (به عنوان مثال استفادهها: actions/checkout@v2) از آنها در گردشهای کاری خود استفاده کنید.
- Docker Container Actions: می توانید با استفاده از کانتینرهای Docker اقداماتی را تعریف کنید. این به شما امکان می دهد مجموعه ای از دستورات یا اسکریپت ها را در یک تصویر ظرف کپسوله کنید و از آن به عنوان یک عمل استفاده کنید. میتوانید تصویر Docker را در فیلد استفادهها مشخص کنید، درست مانند یک عمل از پیش ساخته شده (مثلا استفادهها: docker://node:14).
- مراحل اجرای ترکیبی: مراحل اجرای ترکیبی به شما امکان می دهد تا اقدامات سفارشی را مستقیماً در فایل گردش کار خود تعریف کنید. این مراحل می تواند شامل دنباله ای از دستورات پوسته یا اسکریپت های خارجی مرجع باشد. آنها به ایجاد اقدامات کوچک و قابل استفاده مجدد کمک می کنند که مختص گردش کار شما هستند.
Actions بلوک های سازنده GitHub Actions هستند زیرا به شما امکان می دهند گردش کار اتوماسیون خود را گسترش داده و سفارشی کنید.
مناسبت ها
رویدادها باعث شروع گردش کار می شوند. رویدادها می توانند اقدامات خاصی مانند فشارهای مخزن، ایجاد درخواست کششی یا اقدامات برنامه ریزی شده باشند. GitHub طیف گسترده ای از رویدادها را ارائه می دهد که می توانید از آنها برای راه اندازی گردش کار خود بر اساس شرایط مورد نظر استفاده کنید.
دونده ها
Runner ها ماشین های مجازی یا کانتینرهایی هستند که کارها را در یک گردش کار اجرا می کنند. گیت هاب رانرهای میزبانی را ارائه می دهد که از انواع سیستم عامل ها و محیط ها پشتیبانی می کنند. شما همچنین می توانید دونده های خود میزبان را برای برآورده کردن شرایط خاص تنظیم کنید.
ایجاد گردش کار با اقدامات GitHub
شما گردش کار را در یک فایل YAML (Yet Another Markup Language) با نحو YAML تعریف خواهید کرد. YAML روشی قابل خواندن و قابل درک برای انسان برای تعریف تنظیمات و گردش کار ارائه می دهد.
یک دایرکتوری .github/workflows در مخزن خود ایجاد کنید تا فایل های YAML را که نشان دهنده گردش کار شما هستند میزبانی کند.
در اینجا محتوای یک فایل YAML گردش کار ساده است:
name: Go Workflow
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: '1.16'
- name: Build project
run: go build ./...
- name: Run tests
run: go test ./...
این برنامه YAML یک گردش کاری به نام “Go Workflow” را برای یک پروژه Go تعریف می کند.
گردش کار دو رویداد را تعریف می کند که آن را راه اندازی می کند: push و pull_request در شاخه اصلی. این بدان معنی است که هر زمان که یک درخواست فشار یا کشش به شعبه اصلی وجود داشته باشد اجرا می شود.
کار ساخت بر روی آخرین اجرا کننده ubuntu اجرا می شود، یک ماشین مجازی میزبان GitHub که می توانید آن را برای اجرای کار مشخص کنید.
جزء مراحل حاوی لیستی از اقداماتی است که باید به ترتیب اجرا شوند. در این حالت، کار ابتدا کد را با استفاده از اکشن actions/checkout بررسی میکند و سپس با اجرای go build ./… پروژه را میسازد و با اجرای دستور go test ./… آزمایشها را انجام میدهد.
هنگامی که فایل گردش کار خود را تعریف کردید، می توانید آن را commit کرده و به مخزن خود فشار دهید. GitHub Actions هر زمان که رویدادهای مشخص شده رخ دهد، گردش کار جدید را شناسایی و اجرا می کند.
میتوانید برای اطلاعات در مورد فعالیتها و گردشهای کاری GitHub خود، تب Actions مخزن خود را بررسی کنید.
برنامه های React را با اکشن های GitHub در Firebase اجرا کنید
کارهای زیادی می توانید با GitHub Actions انجام دهید. به عنوان مثال، برای استقرار خودکار برنامه های React در Firebase فوق العاده مفید است.
میتوانید یک خط لوله CI/CD راهاندازی کنید که هر زمان که تغییرات را در مخزن خود اعمال میکنید، برنامه React شما را بسازد، آزمایش کند و در Firebase مستقر کند. ادغام GitHub Actions و Firebase می تواند به شما در استقرار کارآمد و قابل اعتماد کمک کند.