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


مدیریت پلاگینهای وردپرس بهصورت دستی میتواند زمانبر باشد. اما با استفاده از GitHub Actions، میتوان فرآیند بروزرسانی را خودکار کرد. در این مقاله، نحوه آپدیت پلاگین وردپرس از طریق GitHub را توضیح میدهیم. این آموزش روی پلاگینی با نام Abdal Security Headers انجام میشود. دلیل استفاده از این نام این است که شما بتوانید نام پلاگین خودتان را بعداً جایگزین بخشهایی کنید که از این نام استفاده شده است.
1. ایجاد مخزن گیت برای پلاگین
ابتدا باید مخزنی در GitHub برای پلاگین خود ایجاد کنید. در این مرحله، مراحل زیر را انجام دهید:
-
وارد GitHub شوید و یک مخزن جدید بسازید.
-
نام مخزن را abdal-security-headers قرار دهید.
-
گزینه Initialize this repository with a README را غیرفعال کنید.
-
یک .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 را تنظیم کنیم:
-
به مخزن پلاگین در GitHub بروید.(مراحل زیر مطابق با تصویر فوق است)
-
روی Settings کلیک کنید.
-
به Secrets and variables و سپس Actions بروید.
-
در بخش Repository secrets دو مقدار زیر را اضافه کنید:
-
WP_SVN_USERNAME: نام کاربری حساب وردپرس که در WordPress.org دارید.
-
WP_SVN_PASSWORD: رمز عبور SVN که از مسیر Account & Security در WordPress.org دریافت میشود.
-
مسیر Account & Security در WordPress.org را می توانید در تصویر زیر مشاهده کنید.
6. بروزرسانی خودکار پلاگین
حالا که همه چیز تنظیم شده است، هر بار که یک Release جدید در مخزن GitHub ایجاد کنید، فرآیند بروزرسانی پلاگین در WordPress.org بهصورت خودکار انجام خواهد شد.
دیدگاه های مربوط به این مقاله (برای ارسال دیدگاه در سایت حتما باید عضو باشید و پروفایل کاربری شما تکمیل شده باشد)