آموزش آپدیت پلاگین وردپرس با گیت هاب برای برنامه نویسان

آموزش کامل بروزرسانی خودکار پلاگین وردپرس با استفاده از GitHub Actions. یاد بگیرید چگونه پلاگین خود را در گیت‌هاب مدیریت کنید و از طریق SVN به مخزن WordPress..

انتشار: , زمان مطالعه: 5 دقیقه
آموزش آپدیت پلاگین وردپرس با گیت هاب برای برنامه نویسان
دسته بندی: برنامه نویسی تعداد بازدید: 92

 

مدیریت پلاگین‌های وردپرس به‌صورت دستی می‌تواند زمان‌بر باشد. اما با استفاده از GitHub Actions، می‌توان فرآیند بروزرسانی را خودکار کرد. در این مقاله، نحوه آپدیت پلاگین وردپرس از طریق GitHub را توضیح می‌دهیم. این آموزش روی پلاگینی با نام Abdal Security Headers انجام می‌شود. دلیل استفاده از این نام این است که شما بتوانید نام پلاگین خودتان را بعداً جایگزین بخش‌هایی کنید که از این نام استفاده شده است.

1. ایجاد مخزن گیت برای پلاگین

ابتدا باید مخزنی در GitHub برای پلاگین خود ایجاد کنید. در این مرحله، مراحل زیر را انجام دهید:

  1. وارد GitHub شوید و یک مخزن جدید بسازید.

  2. نام مخزن را abdal-security-headers قرار دهید.

  3. گزینه Initialize this repository with a README را غیرفعال کنید.

  4. یک .gitignore مناسب برای وردپرس اضافه کنید.

2. کلون گرفتن از مخزن روی سیستم

برای دریافت مخزن در سیستم خود، از دستور زیر استفاده کنید:

    git clone https://github.com/YOUR_USERNAME/abdal-security-headers.git

3. تنظیمات پوشه GitHub Actions

پس از کلون گرفتن، وارد پوشه مخزن شوید و ساختار زیر را ایجاد کنید:

cd abdal-security-headers
mkdir -p .github/workflows

فایل deploy-to-wordpress.yml را در پوشه .github/workflows/ ایجاد کنید و محتوای زیر را داخل آن قرار دهید:

name: Deploy to WordPress.org

on:
  release:
    types: [published]
    workflow_dispatch:

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Setup SVN
        run: sudo apt-get install subversion

      - name: Export WordPress plugin files
        run: |
          rm -rf .git .github
          mkdir -p wordpress-plugin
          rsync -r --exclude=.git --exclude=.github --exclude=.gitignore --exclude=README.md ./ wordpress-plugin/

      - name: Checkout WordPress.org SVN
        run: |
          svn co --depth immediates "https://plugins.svn.wordpress.org/abdal-security-headers/" svn-wordpress
          cd svn-wordpress
          svn update --set-depth infinity trunk
          svn update --set-depth infinity tags

      - name: Copy new version to trunk
        run: |
          rsync -r --delete wordpress-plugin/ svn-wordpress/trunk/
          cd svn-wordpress
          svn add --force trunk
          svn commit -m "Updating to latest release" --username "$SVN_USERNAME" --password "$SVN_PASSWORD"

      - name: Tag the new release
        run: |
          PLUGIN_VERSION=$(grep -Eo "Version: [0-9]+\.[0-9]+\.[0-9]+" wordpress-plugin/abdal-security-headers.php | cut -d " " -f2)
          echo "Detected Plugin Version: $PLUGIN_VERSION"
          cd svn-wordpress
          svn cp trunk tags/$PLUGIN_VERSION
          svn commit -m "Tagging version $PLUGIN_VERSION" --username "$SVN_USERNAME" --password "$SVN_PASSWORD"
          svn update

    env:
      SVN_USERNAME: ${{ secrets.WP_SVN_USERNAME }}
      SVN_PASSWORD: ${{ secrets.WP_SVN_PASSWORD }}

در فایل deploy-to-wordpress.yml حتما باید به جای abdal-security-headers نام پلاگین خودتان را وارد کنید.

4. ارسال تغییرات به مخزن GitHub

حالا باید تغییرات را به GitHub ارسال کنید. دستورات زیر را اجرا کنید:

    git add .
    git commit -m "Added GitHub Actions workflow for auto-deployment"
    git push origin main

5. تنظیم Secrets در GitHub

برای امنیت بیشتر، اطلاعات حساس مانند نام کاربری و رمز SVN نباید مستقیماً در فایل‌های YAML ذخیره شوند. برای این کار، باید Secrets را تنظیم کنیم:

تنظیم Secrets در GitHub

  1. به مخزن پلاگین در GitHub بروید.(مراحل زیر مطابق با تصویر فوق است)

  2. روی Settings کلیک کنید.

  3. به Secrets and variables و سپس Actions بروید.

  4. در بخش Repository secrets دو مقدار زیر را اضافه کنید:

    • WP_SVN_USERNAME: نام کاربری حساب وردپرس که در WordPress.org دارید.

    • WP_SVN_PASSWORD: رمز عبور SVN که از مسیر Account & Security در WordPress.org دریافت می‌شود.

مسیر Account & Security در WordPress.org را می توانید در تصویر زیر مشاهده کنید.

آموزش آپدیت پلاگین وردپرس با گیت هاب برای برنامه نویسان

6. بروزرسانی خودکار پلاگین

حالا که همه چیز تنظیم شده است، هر بار که یک Release جدید در مخزن GitHub ایجاد کنید، فرآیند بروزرسانی پلاگین در WordPress.org به‌صورت خودکار انجام خواهد شد.


دیدگاه های مربوط به این مقاله (برای ارسال دیدگاه در سایت حتما باید عضو باشید و پروفایل کاربری شما تکمیل شده باشد)