راهاندازی CI/CD با GitHub Actions برای پروژههای PHP
در دنیای توسعه نرمافزار، خودکارسازی فرآیندهای توسعه و استقرار یکی از مهمترین اصول برای افزایش بهرهوری و کاهش خطاهای انسانی است. ابزار GitHub Actions یکی از بهترین انتخابها برای پیادهسازی Continuous Integration (CI) و Continuous Deployment (CD) در پروژههای PHP محسوب میشود. در این مقاله، مراحل دقیق تنظیم GitHub Actions برای یک پروژه PHP را بررسی خواهیم کرد.
چرا CI/CD مهم است؟
CI/CD به شما امکان میدهد تا کدهای خود را بهصورت مداوم تست کنید، مشکلات را سریع پیدا کنید و به طور خودکار نسخه جدید اپلیکیشن را مستقر کنید. این فرآیند باعث صرفهجویی در زمان تیم توسعه، افزایش کیفیت کد و تضمین پایداری محصول نهایی میشود.
شروع به کار با GitHub Actions
GitHub Actions یک ابزار قدرتمند است که امکان تعریف گردش کار (workflow) های خودکار را فراهم میکند. شما میتوانید با فایلهای YAML، مراحل مختلف تست، بیلد و دیپلوی کدهای خود را تعریف کنید.
مرحله ۱: ایجاد فایل Workflow
برای شروع، وارد مخزن پروژه PHP خود در GitHub شوید و مسیر زیر را دنبال کنید:
- پوشه
.github/workflows
را ایجاد کنید. - یک فایل جدید با نام
ci-cd.yml
داخل این پوشه بسازید.
مرحله ۲: تنظیم اولیه فایل YAML
نمونهای از فایل ci-cd.yml
:
name: CI/CD for PHP Project
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
- name: Install dependencies
run: composer install --no-dev --prefer-dist
- name: Run tests
run: vendor/bin/phpunit --configuration phpunit.xml
مرحله ۳: توضیح بخشها
- on: مشخص میکند که این گردش کار چه زمانی اجرا شود (مثلاً هنگام push یا باز کردن یک pull request)
- jobs: مجموعهای از وظایف که باید انجام شوند.
- steps:: مراحل اجرای هر وظیفه؛ از چکاوت کردن کد گرفته تا اجرای تستها.
مرحله ۴: افزودن مرحله Deployment (اختیاری)
If you want to deploy automatically after tests pass, you can add a deployment step to a server or cloud platform like Heroku, AWS, or DigitalOcean: