این پروژه از GitHub Actions برای deploy خودکار به سرور استفاده میکند.
📋 محیطهای Deploy
1️⃣ Staging (پیشنمایش)
- Branch:
develop - آدرس:
staging.xpay.co/wp-content/themes/xpay_main_theme/ - استفاده: برای تست تغییرات قبل از production
2️⃣ Production (اصلی)
- Branch:
master - آدرس:
public_html/wp-content/themes/xpay_main_theme/ - استفاده: سایت اصلی و زنده
🔄 Workflow معمولی توسعه
مرحله 1: کار روی Feature جدید
# روی branch develop کار کنید
git checkout develop
# تغییرات خود را اعمال کنید
# ... edit files ...
# Commit و Push
git add .
git commit -m "feat: add new feature"
git push origin develop
✅ بعد از push به develop:
- GitHub Action اجرا میشه
- تغییرات به
staging.xpay.codeploy میشن - تست میکنید که همه چیز درست کار میکنه
مرحله 2: انتقال به Production (دو روش)
🅰️ روش اول: Merge (پیشنهادی ✨)
بدون نیاز به switch کردن branch، مستقیم develop رو merge کنید به master:
# مطمئن شوید روی develop هستید
git checkout develop
# آخرین تغییرات رو دریافت کنید
git pull origin develop
# merge به master بدون switch
git checkout master
git pull origin master
git merge develop
# push به master
git push origin master
یا اگر میخواهید بدون switch انجام بدید:
# از همون branch develop
git fetch origin master:master
git push origin develop:master
✅ مزایای این روش:
- تاریخچه کامل تغییرات حفظ میشه
- میتونید rollback کنید
- چند نفر میتونن روی develop کار کنن
- امنتر و حرفهایتره
🅱️ روش دوم: Switch & Push (سادهتر ولی کمتر توصیه میشه)
# switch به master
git checkout master
# merge از develop
git merge develop
# push
git push origin master
# برگشت به develop برای کار بعدی
git checkout develop
🎯 روش پیشنهادی: Pull Request
بهترین روش استفاده از Pull Request در GitHub است:
قدم 1: Push به develop
git checkout develop
git add .
git commit -m "feat: new feature"
git push origin develop
قدم 2: ساخت Pull Request در GitHub
- برو به repository در GitHub
- کلیک روی “Pull requests”
- کلیک “New pull request”
- Set:
- base:
master(مقصد) - compare:
develop(منبع)
- base:
- عنوان و توضیحات بنویس
- کلیک “Create pull request”
قدم 3: Review و Merge
- تغییرات رو بررسی کن
- اگر همه چیز OK بود، کلیک “Merge pull request”
- Confirm merge
✅ بعد از merge:
- GitHub Action خودکار اجرا میشه
- تغییرات به Production deploy میشن
🔐 تنظیمات مورد نیاز (یکبار اول)
در GitHub Repository → Settings → Secrets and variables → Actions، این secrets رو اضافه کنید:
FTP_SERVER: آدرس سرور FTPFTP_USERNAME: نام کاربری FTPFTP_PASSWORD: رمز عبور FTP
📊 مانیتورینگ Deploy
برای دیدن وضعیت deploy:
- برو به repository در GitHub
- کلیک روی تب “Actions”
- آخرین workflow رو ببین
- اگر ❌ قرمز شد = مشکل در deploy
- اگر ✅ سبز شد = deploy موفق
🆘 عیبیابی
Deploy موفق نشد چیکار کنم؟
- چک کردن Logs:
- برو به Actions → آخرین workflow
- روی job کلیک کن و error رو ببین
- مشکلات رایج:
- ❌ FTP credentials اشتباه است → secrets رو چک کن
- ❌ مسیر server-dir اشتباه است → مسیر رو در deploy.yml چک کن
- ❌ دسترسی FTP محدود است → با هاستینگ تماس بگیر
- تست دستی FTP:
# از FileZilla یا WinSCP به FTP وصل شو و چک کن
💡 نکات مهم
- ✅ همیشه اول به staging deploy کنید
- ✅ staging رو کامل تست کنید قبل از production
- ✅ commit message های واضح بنویسید
- ✅ قبل از merge، develop رو update کنید
- ❌ مستقیم روی master push نکنید
- ❌ بدون تست، merge نکنید
📞 کمک بیشتر
اگر سوالی داشتید یا مشکلی پیش اومد، issues رو در GitHub چک کنید یا issue جدید بسازید.
آخرین بروزرسانی: نوامبر 2025